Java Ant构建失败,样板生成和生成器(GWT平台)
我有一个build.xml可以正常工作,直到我开始使用样板生成并创建生成器 在开发模式下一切正常,但我无法为我的应用程序生成war 我认为这是因为gen类将生成Java Ant构建失败,样板生成和生成器(GWT平台),java,gwt,ant,gwt-platform,Java,Gwt,Ant,Gwt Platform,我有一个build.xml可以正常工作,直到我开始使用样板生成并创建生成器 在开发模式下一切正常,但我无法为我的应用程序生成war 我认为这是因为gen类将生成/apt_,而不是/src,而我的ant编译/src,我对生成器一无所知 我只是想让它工作,但我做不到 有人能帮我吗 我的build.xml如下所示: 编辑 我修改了build.xml,现在又有了一个属性,,我的编译目标变成了: <target name="compile" depends="prepare">
/apt_
,而不是/src
,而我的ant编译/src
,我对生成器一无所知
我只是想让它工作,但我做不到
有人能帮我吗
我的build.xml如下所示:
编辑
我修改了build.xml,现在又有了一个属性,
,我的编译目标变成了:
<target name="compile" depends="prepare">
<javac destdir="${build.dir}">
<src location="${src.dir}" />
<src location="${apt_generated.dir}" />
<classpath refid="project.classpath" />
</javac>
</target>
这“解决”了生成apt_的问题(我认为),但我仍然无法构建它,因为SourceWriter和javax.validation类的错误。生成的类也需要编译。由于在您的示例中没有看到任何代码生成,所以我只假设了以下值
<target name="compile" depends="prepare">
<-- compile generated classes-->
<javac srcdir="${apt_generated.dir}" destdir="${build.generated.dir}">
<classpath refid="project.classpath"/>
</javac>
<-- compile sources -->
<javac srcdir="${src.dir}" destdir="${build.dir}">
<classpath location="${build.generated.dir}"/>
<classpath refid="project.classpath"/>
</javac>
</target>
正如您在评论中所述,生成的类取决于源,反之亦然,因此您需要:
- 或者拆分您的项目,以便所有公共依赖项都位于另一个项目中
- 或者把所有的东西都汇编在一起
<target name="compile" depends="prepare">
<javac destdir="${build.dir}">
<src location="${src.dir}" />
<src location="${apt_generated.dir}" />
<classpath refid="project.classpath" />
</javac>
</target>
如果还有任何遗漏,请确保:
- 相应的lib包含在project.classpath中(如果您不确定缺少哪个jar,可以尝试
- 所有源都位于一个src dir上
<target name="compile" depends="prepare">
<-- compile generated classes-->
<javac srcdir="${apt_generated.dir}" destdir="${build.generated.dir}">
<classpath refid="project.classpath"/>
</javac>
<-- compile sources -->
<javac srcdir="${src.dir}" destdir="${build.dir}">
<classpath location="${build.generated.dir}"/>
<classpath refid="project.classpath"/>
</javac>
</target>
<target name="compile" depends="prepare">
<javac destdir="${build.dir}">
<src location="${src.dir}" />
<src location="${apt_generated.dir}" />
<classpath refid="project.classpath" />
</javac>
</target>