2016-09-01 10 views
1

私はJavaコードに基づいてWSDLファイルを作成するためにCXF JavaToWSを使用しています。私はビルドのためにGradleを使用しています。私のJavaコードは別のプロジェクトを参照し、settings.gradleとbuild.gradleファイルを使ってそれらを結びつけました。それはすべてうまくいきます。JavaToWSエラー:java.lang.NoClassDefFoundError

私が見ている問題は、JavaToWSがセカンダリプロジェクトにあるクラスのいずれかでNoClassDefFoundErrorを取得していることです。 JavaToWSがプロジェクトのクラスパスにアクセスできないかのようです。 Eclipseは必要なものすべてを見つけ、プロジェクトはエラーなしで構築されます。それは失敗するJavaToWSのステップです。どのように私はクラスパスを見るためにJavaToWSを得ることができるかに関する任意のアイデア?おそらく複数の引数を "-cp"引数に渡す方法はありますか?ここで

は私JavaToWSが私gradle.buildファイルの手順です:

task java2ws(type: JavaExec) { 

    ext { 
     outputDir = file("src/main/java") 
     mainDir = file("$buildDir/classes/main") 
     wsdlDir = file("src/main/resources/wsdl") 
    } 

    main = 'org.apache.cxf.tools.java2ws.JavaToWS' 

    classpath = configurations.cxf 

    // Arguments to be passed to JavaToWS. 
    args '-cp', mainDir 
    args '-s', outputDir 
    args '-d', wsdlDir 
    args '-classdir', mainDir 
    args '-o', 'MyService.wsdl' 
    args '-createxsdimports' 
    args '-verbose' 
    args '-frontend', 'jaxws' 
    args '-databinding', 'jaxb' 
    args '-wsdl' 
    args '-wrapperbean', 'com.foo.MyService'  
} 

答えて

0

Iからクラスパスラインを変更することでこの問題を解決することができた:へ

classpath = configurations.cxf 

classpath = files(configurations.cxf, configurations.runtime) 
関連する問題