Eclipse:如何使用具有外部项目依赖项的 ant 构建可执行 jar?

Eclipse: How to build an executable jar using ant with external project dependencies?

我正在尝试使用 ant 脚本构建一个可执行的 jar 程序。当项目没有任何依赖项时它工作正常,但是当我添加另一个项目作为依赖项时,ant 脚本找不到 类 从这个。

我做了一个简单的测试和理解它是如何工作的。

关注:

Ant 脚本示例:

<target name="compile">
    <mkdir dir="${classes.dir}" />
    <javac srcdir="${src.dir}" destdir="${classes.dir}" />
</target>

<target name="jar" depends="compile">
    <mkdir dir="${jar.dir}" />

    <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}" includes="*.class" >
        <manifest>
            <attribute name="Main-Class" value="${main-class}" />
        </manifest>
    </jar>
</target>

<target name="run" depends="jar">
    <java jar="${jar.dir}/${ant.project.name}.jar" fork="true" />
</target>

我的项目结构是这样的:

AntHelloWorld 依赖于 AntTest。 我的 build.xml 在 AntHelloWorld 中,我想修改我的 ant build.xml 以使用项目依赖项。 (我还不能 post 图片)

我试图找到这个,我只是看到了如何使用 jar 依赖项来做到这一点,How to build an executable jar with external jar?

这是我在 Whosebug 中的第一个问题,请随时告知我可以改进的地方。

javac 指令可以包含包含 class 路径的子元素。您可以将依赖项目的 JAR 文件放在 class 路径中。考虑这个演示将 JAR 文件放在 class 路径上的示例:

//This goes inside the javac element     
    <classpath>
         <fileset dir="${dependentProject}/lib">
                <include name="**/*.jar" /> 
         </fileset>
     </classpath>

作为第二个例子,如果你想从你的依赖项目中包含 class 文件,并且你的 class 文件位于构建目录中:

 <classpath>
     <pathelement location="${dependentProject}/build" />
     <fileset dir="${dependentProject}/lib">
            <include name="**/*.jar" /> 
     </fileset>
 </classpath>