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
Java ant-to-gradle迁移中生成的源代码_Java_Ant_Gradle_Build_Generated Code - Fatal编程技术网

Java ant-to-gradle迁移中生成的源代码

Java ant-to-gradle迁移中生成的源代码,java,ant,gradle,build,generated-code,Java,Ant,Gradle,Build,Generated Code,我正在将ant build中的java项目迁移到gradle build。我被源代码困住了 我已经在另一个将WSDL转换为java的项目中成功地完成了这项工作。但在这种情况下,我不知道 这里有蚂蚁代码 <taskdef name="codegen" classname="com.company.container.ant.GeneratorTask" classpathref="codegen.path" loaderref="classes"/> <cod

我正在将ant build中的java项目迁移到gradle build。我被源代码困住了

我已经在另一个将WSDL转换为java的项目中成功地完成了这项工作。但在这种情况下,我不知道

这里有蚂蚁代码

<taskdef name="codegen" classname="com.company.container.ant.GeneratorTask" 
         classpathref="codegen.path" loaderref="classes"/>
<codegen toDir="${dir.generated}" metaDestDir="${dir.compile}" 
         configFile="${dir.compile}/container/local_services.xml">
<fileset dir=".">
    <include name="src/java/com/**/container/*Impl.java"/>
</fileset>
</codegen>
<echo message="Generate biz service interfaces complete."/>
        </target>
<target name="compile.codegen" description="Compile generated code.">
<javac srcdir="${dir.generated}" destdir="${dir.compile}" 
       deprecation="${build.deprecation}" debug="${build.debug}">
    <classpath>
        <path refid="classpath.build"/>
    </classpath>
</javac>
<echo message="Done compiling generated code."/>
</target>


有人知道吗?

是的!我已经做到了。这很有效

task generateTheSourceFiles {
    doLast {
        generatedSrcDir.exists() || generatedSrcDir.mkdirs()
        ant.taskdef(name: 'generateJavaCode', classname: 'com.company.container.ant.GeneratorTask', classpath: configurations.generateJavaCode.asPath, loaderref: 'classes')
        ant.taskdef(name: 'attributeCompiler', classname: 'org.apache.commons.attributes.compiler.AttributeCompiler',
                classpath: configurations.attributeCompiler.asPath, loaderref: 'classes')
        ant.generateJavaCode(toDir: generatedSrcDir, metaDestDir: 'build/classes', configFile: 'src/main/resources/container/local_services.xml') {
            fileset(dir: 'src/main/java', includes: 'com/**/container/**/*Impl.java', excludes: 'com/company/web/container/*Impl.java')
        }
        ant.attributeCompiler(destDir: generatedSrcDir) {
            fileset(dir: 'src/main/java', includes: 'com/**/container/**/*.java')
        }
    }
}

请尽量说得更具体些。你到底不明白哪一部分?到目前为止你到底尝试了什么?如何将其转换为gradle?我甚至不明白这是怎么回事!这段代码(在ant中)生成新的java文件。它似乎使用了一些自定义的代码生成器,不像WSDL生成器。因此,您必须为其提供行为和输入/输出,或者?作为临时解决方案,只需将此ant任务导入gradle构建脚本。