我有这个target
在build.xml中编译一个类:
<target name="-do-compile" depends="init, deps-jar, -pre-pre-compile, -pre-compile, -copy-manifest, -copy-persistence-xml, -copy-webdir, library-inclusion-in-archive,library-inclusion-in-manifest" if="have.sources">
<webproject2:javac destdir="${build.classes.dir.real}"/>
<copy todir="${build.classes.dir.real}">
<fileset dir="${src.dir}" excludes="${build.classes.excludes}"/>
</copy>
</target>
还有这个:
<target name="-init-macrodef-javac">
<macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
<attribute name="srcdir" default="${src.dir}"/>
<attribute name="destdir" default="${build.classes.dir.real}"/>
<attribute name="classpath" default="${javac.classpath}:${j2ee.platform.classpath}"/>
<attribute name="debug" default="${javac.debug}"/>
<element name="customize" optional="true"/>
<sequential>
<javac srcdir="@{srcdir}" destdir="@{destdir}" debug="@{debug}" deprecation="${javac.deprecation}" source="${javac.source}" target="${javac.target}" includeantruntime="false">
<classpath>
<path path="@{classpath}"/>
</classpath>
<compilerarg line="${javac.compilerargs}"/>
<customize/>
</javac>
</sequential>
</macrodef>
</target>
在编译过程中,我得到了一个错误'javax。Servlet不存在。所以我必须将classpath
添加到servlet-api.jar中,它位于/opt/java/common/
中。在build.xml中最好的方法是什么,应该修改什么?
由于这个问题可能看起来很傻,人们可能会投反对票而不是回答。但这肯定没有帮助,这就是他们在这里的目的。
将下面一行添加到classpath元素
<pathelement location="/opt/java/common/servlet-api.jar"/>
。E在您的构建XML文件
<javac srcdir="@{srcdir}" destdir="@{destdir}" debug="@{debug}" deprecation="${javac.deprecation}"
source="${javac.source}" target="${javac.target}" includeantruntime="false">
<classpath>
<path path="@{classpath}"/>
<pathelement location="/opt/java/common/servlet-api.jar"/>
</classpath>
<compilerarg line="${javac.compilerargs}"/>
<customize/>
</javac>
请参阅http://ant.apache.org/manual/using.html类路径结构部分