Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Gradle中使用Axis1.4的wsdl2java_Gradle_Ant_Axis - Fatal编程技术网

在Gradle中使用Axis1.4的wsdl2java

在Gradle中使用Axis1.4的wsdl2java,gradle,ant,axis,Gradle,Ant,Axis,我搜索了插件和教程,但它们都不适用于给定的上下文: 我想从给定WSDL文件列表生成服务器端Java类。它们必须使用Axis1.4和Java1.7生成 我的半工作代码如下: configurations { axisGenAntTask } task genWsdlClasses() { doLast { def wsdlDir = file(axisInputDir) def wsdlFiles = new FileNameByRegexFind

我搜索了插件和教程,但它们都不适用于给定的上下文: 我想从给定WSDL文件列表生成服务器端Java类。它们必须使用Axis1.4和Java1.7生成

我的半工作代码如下:

configurations {
    axisGenAntTask
}

task genWsdlClasses() {
    doLast {
        def wsdlDir = file(axisInputDir)
        def wsdlFiles = new FileNameByRegexFinder().getFileNames("${wsdlDir}", /.*\.wsdl/)
        wsdlFiles.each { String wsdlFile ->
            ant.echo(message: "Generating Classes for use with WSDL")
            ant.taskdef(
                    name: "genClassesFromWSDL",
                    classname: "org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask",
                    classpath: configurations.axisGenAntTask.asPath
            )

            ant.genClassesFromWSDL(
                    url: wsdlFile,
                    output: file(cxfOutputDir)
            )
        }
    }
}

tasks.withType(JavaCompile) {
    dependsOn genWsdlClasses
}

dependencies {
    axisGenAntTask "org.apache.axis:axis-ant:1.4",
            "org.apache.axis:axis:1.4",
            "org.apache.axis:axis-jaxrpc:1.4",
            "axis:axis-wsdl4j:1.5.1",
            "commons-codec:commons-codec:1.3",
            "commons-logging:commons-logging:1.1.1",
            "commons-discovery:commons-discovery:0.2"
}
但是,生成的CustomException类不会扩展
Exception
,因此它不可丢弃,Java代码编译也不起作用(请参见此处的类似问题:)

不知何故,我不得不告诉ant.taskdef不要“解包”类,正如我在参考的SO问题中所读到的那样,但是提到的参数来自轴2,而不是所需的轴1.4