一連のエンタープライズ 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 が再構築されません。