java - 使用外部 JAR 构建 Eclipse 项目

标签 java jar ant build.xml

我的构建脚本如下:

<project default="main">
    <target name="main" depends="clear,compile,jar">
    </target>

    <target name="clear">
        <delete includeemptydirs="true">
            <fileset dir="../bin" includes="**/*" />
        </delete>
    </target>

    <target name="compile">
        <javac srcdir="../src" destdir="../bin" />
    </target>

    <target name="jar">
        <jar destfile="../jms.jar">
            <fileset dir="../bin">
                <include name="**/*.class" />
            </fileset>
            <zipgroupfileset dir="C:/Users/Jason/Project/apache-activemq-5.9" includes="activemq-5.9.jar" />
            <manifest>
                <section name="Information">
                    <attribute name="Version" value="1.1-02" />
                </section>
            </manifest>
        </jar>
    </target>
</project>

我仍然收到由于缺少 JAR 而无法编译我的类的错误。是不是我添加错了?

C:\Users\Jason\Project\Workspace\ActiveMQ\src 包含所有源文件 C:\Users\Jason\Project\apache-activemq-5.9 是 JAR 文件的目标

这是我的错误:

Buildfile: C:\Users\Jason\Project\Workspace\ActiveMQ\src\build.xml
clear:
compile:
    [javac] C:\Users\Jason\Project\Workspace\ActiveMQ\src\build.xml:12: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 2 source files to C:\Users\Jason\Project\Workspace\ActiveMQ\bin
    [javac] C:\Users\Jason\Project\Workspace\ActiveMQ\src\Publisher.java:1: error: package org.apache.activemq does not exist
    [javac] import org.apache.activemq.ActiveMQConnectionFactory;
    [javac]                           ^
    [javac] C:\Users\Jason\Project\Workspace\ActiveMQ\src\Publisher.java:2: error: package javax.jms does not exist
    [javac] import javax.jms.*;
    [javac] ^
    [javac] C:\Users\Jason\Project\Workspace\ActiveMQ\src\Publisher.java:7: error: cannot find symbol
    [javac]         ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
    [javac]         ^
    [javac]   symbol:   class ActiveMQConnectionFactory
    [javac]   location: class Publisher
    [javac] C:\Users\Jason\Project\Workspace\ActiveMQ\src\Publisher.java:7: error: cannot find symbol
    [javac]         ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
    [javac]                                                 ^
    [javac]   symbol:   class ActiveMQConnectionFactory
    [javac]   location: class Publisher
    [javac] 4 errors

最佳答案

您应该向 javac 目标添加类路径,例如

<javac srcdir="../src" destdir="../bin" classpath="your-jar-file"/>

请参阅Javac Task documentation添加类路径的更多选项。

关于java - 使用外部 JAR 构建 Eclipse 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43878858/

相关文章:

java - 强制 JAXB 忽略第 3 方类文件中的 getter/setter

java - 我无法运行 JAR 文件?

javascript - 使用 JavaScript 进行自动化单元测试

java - fork JUNIT 执行

ant - 如何使用 Ant 在 JUnit3 测试类上运行自定义 JUnit4 Runner?

java - 优点和缺点 : having Enum or Class for Message Notification types

java - 当另一个属性具有相同的值时,如何根据对象的一个​​属性对对象数组进行排序?

java - 我可以在 Appletviewer 中通过 Java Web Start 启动小程序吗?

java - 当从 JAR 而不是 Eclipse 运行时,从我的 Java 应用程序打开 tmp PDF 时出错

java - 可执行 JAR 文件问题?