0

一連のエンタープライズ XML スキーマから生成された一連の JAXB クラスに依存する Java プロジェクトがあります。これまで、コマンド ラインから XJC を使用して JAXB クラスを生成してきましたが、ビルドシップを使用して xjc コマンドを Eclipse Java プロジェクトに統合しようとしています。JAXB クラスを削除し、Eclipse gradle インターフェースを介して Java プロジェクトを再構築しようとしました。私の問題は、Java が JAXB クラスを再構築する前にコンパイルを試み続け、コンパイル エラーが発生して異常終了することです。JAXB プラグインを使用しようとしましたが、今は Gradle で Groovy 呼び出しを使用して呼び出そうとしていますが、うまくいきません。

さて、GenerateJaxb タスクの形式が正しくない可能性がありますが、そこまで実行することさえできないため、まだテストできていません。

これが私のbuild.gradleコードです:

    //apply your plugins
    plugins {

      id "java"
    }

    repositories {
        jcenter()
    }

    dependencies {

        // The production code uses the SLF4J logging API at compile time
        compile 'org.slf4j:slf4j-api:1.7.21'
        // log4j
        compile 'log4j:log4j:1.2.17'
        // google guava library
        compile 'com.google.guava:guava:r05'

        // Declare the dependency for your favourite test framework you want to use in your tests.
        // TestNG is also supported by the Gradle Test task. Just change the
        // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
        // 'test.useTestNG()' to your build script.
        testCompile 'junit:junit:4.12'
    }

    task GenerateJaxb(type:Exec){
workingDir 'C:\\Program Files\\Java\\jdk1.8.0_73\\bin'
commandLine 'xjc.exe -d C:\\SVN\\Tibco\\Java\\branches\\SBC_Gradle\\src\\generated\\java C:\\SVN\\Tibco\\Projects\\HIPAA\\834\\trunk\\834Automation\\Schemas\\Canonical\\SBCCalculator2017.xsd -extension -p schema'
println "ran GenerateJaxb task"
    }

更新: タスクを修正することができ、ビルドが正常にコンパイルされるようになりました (上記のソース コードで修正されています) が、gradle ビルド タスクを実行すると、JAXB が再構築されません。

4

1 に答える 1