java - 将类路径添加到 build.xml 的最佳方法

标签 java ant classpath build.xml

我在 build.xml 中有这个 target 来编译一个类:

<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 中执行此操作的最佳方法是什么?应该修改哪些内容?

由于问题可能看起来很愚蠢,因此人们可能会投反对票而不是回答。但这肯定没有帮助,这就是他们来这里的目的。

最佳答案

将以下行添加到您的类路径元素

<pathelement location="/opt/java/common/servlet-api.jar"/>

即在您的构建 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类路径结构部分

关于java - 将类路径添加到 build.xml 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24759794/

相关文章:

java - 从不同目录运行 jar 找不到所需的依赖项

java - 如何将 AsyncTask 从 Android 移植到 java?

java - 获取网页文本

JavaMail 问题 : Can't send command to SMTP host

java - 在 JAXB 中控制 namespace 前缀

java - 为什么 Ant 可以识别某些环境变量而不识别其他环境变量

java - Java 的 Velocity EscapeTool

java - 如何在 build.xml 中设置不同的路径

tomcat - 取消部署目标无法正常工作

java - 如何从 Eclipse 中的注释处理器加载类?