簡體   English   中英

JavaToWS錯誤:java.lang.NoClassDefFoundError

[英]JavaToWS Error: java.lang.NoClassDefFoundError

我正在使用CXF JavaToWS基於我的Java代碼創建WSDL文件。 我正在使用Gradle進行構建。 我的Java代碼引用了另一個項目,我通過settings.gradle和build.gradle文件將它們綁定在一起。 這一切都運作良好。

我看到的問題是JavaToWS在輔助項目中的一個類上獲得NoClassDefFoundError。 這幾乎就像JavaToWS無法訪問項目的類路徑一樣。 Eclipse找到它需要的一切,並且項目構建沒有錯誤。 只是JavaToWS步驟失敗了。 關於如何讓JavaToWS看到我的類路徑的任何想法? 有沒有辦法將多個參數傳遞給“-cp”參數呢?

這是我的gradle.build文件中的JavaToWS步驟:

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'    
}

我可以通過更改類路徑行來解決此問題:

classpath = configurations.cxf

至:

classpath = files(configurations.cxf, configurations.runtime)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM