gpt4 book ai didi

compiler-construction - 用ant编译gwt项目的问题

转载 作者:行者123 更新时间:2023-12-04 08:37:45 25 4
gpt4 key购买 nike

我使用 GWT 已经有一段时间了,到目前为止只使用了 eclipse 插件来编译我的项目。由于新的要求,我需要使用 ant 构建(第一次)来构建 gwt 项目。首先,我会说我有 2 个具有入口点的模块和 2 个仅包含 java 类(应翻译为 js)的其他通用模块,它们位于我工作区的不同项目中。

目前我有 GWT 项目,它需要 Common 项目,而 Common 项目又需要 DAL 项目(当我说需要时,我的意思是它是在 eclipse 项目构建路径中定义的)。在我的 GWT 项目中,我在适当的位置有一个 Common.gwt.xml 和 DAL.gwt.xml 文件,它们将它们定义为模块,而我的 ModuleEntryPoint.gwt.xml 继承了这两个模块(除了其他模块)。当我目前使用 gwt eclipse 插件编译时一切正常。

但是,当我尝试使用 ant build 模拟这一点时,我的 ModuleEntryPoint 编译失败,因为编译器说它找不到属于 DAL 模块或 Common 模块的类的源。

ant 构建代码非常基础,因为这是我的第一次尝试。
在此先感谢您提供的任何帮助。

    <path id="compile.classpath">
<fileset dir="${build.dir.WEB-INF.lib}">
<include name="**/*.jar" />
<include name="**/*.xml" />
</fileset>
<fileset dir="${ExternalLib.WebServer.dir}">
<include name="**/*.jar" />
<include name="**/*.xml" />
</fileset>

<fileset dir="${GWT.dir}">
<include name="**/*.jar" />
<include name="**/*.dll" />
</fileset>

</path>

<target name="clear_previous_war">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir.WEB-INF.classes}"/>
<mkdir dir="${build.dir.WEB-INF.lib}"/>
<target name="build_common" >
<jar destfile="${build.dir.WEB-INF.lib}/${jar.common}"
basedir="${common.dir.build}"
includes="com/**"
excludes="**/.svn"
/>
</target>

<target name="build_dal" >
<jar destfile="${build.dir.WEB-INF.lib}/${jar.dal}"
basedir="${dal.dir.build}"
includes="com/**"
excludes="**/.svn"
/>
</target>

<target name="copy_additional_files" >
... Copies all required external jars to web-inf/lib
</target>

<target name="compile_web_classes" >
<javac srcdir="src" classpathref="compile.classpath"
destdir="${build.dir.WEB-INF.classes}"
source="1.6"/>
</target>

<target name="compile_gwt_button" description="GWT compile to JavaScript">
<java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
<classpath>
<pathelement location="${src.dir}" />
<path refid="compile.classpath" />
</classpath>
<jvmarg value="-Xmx256M" />
<arg value="com.myCompany.web.Button" />
</java>
</target>

<target name="deploy" description="Build web project">
<antcall target="clear_previous_war" />
<antcall target="build_common" />
<antcall target="build_dal" />
<antcall target="copy_additional_files" />
<antcall target="compile_web_classes" />
<antcall target="compile_gwt_button" />
</target>

最佳答案

compile-gwt任务我没有给他通向通用模块(../Common/src 等)源的路径,所以我添加了它并且它可以工作。
就像是:

<classpath>
<pathelement location="src"/>
<pathelement location="../Common/src"/>
<path refid="gwt.compile.classpath"/>
</classpath>

关于compiler-construction - 用ant编译gwt项目的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2235491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com