3

在谷歌搜索后,我正在使用 ANT 构建我的项目的 jar 文件,发现我引用了这个墨水是怎么做的。下面是我的 build.xml 文件

<?xml version="1.0" ?> 
<project name="ExcelData" default="compress">

    <target name="init">
        <mkdir dir="build/classes" />
        <mkdir dir="dist" />
    </target>

    <target name="compile" depends="init">
        <javac srcdir="src" destdir="build/classes" />
    </target>

    <target name="compress" depends="compile">
            <jar destfile="dist/ExcelData.jar" basedir="build/classes" />
    </target>

    <target name="execute" depends="compile">
        <java classname="com.spt.excel.data.ExcelData" classpath="build/classes" />
    </target>

    <target name="clean">
        <delete dir="build" />
        <delete dir="dist" />
    </target>

</project>

但问题是 ANT 大楼失败了。但我收到错误

D:\Eclipse\workspace\ExcelData\src\com\spt\excel\data\ExcelData.java:24: error: package org.slf4j does not exist`

并将链接引用到设置 tools.jar。

谁能告诉我哪里出错了。先感谢您。

4

2 回答 2

5

您的 ant 文件中没有包含库,我的意思是类路径,只需将您的 eclipse 项目包含的所有库添加到 ant 文件中,所有这些都可以工作,请阅读像这样的原始教程

像那样

<javac srcdir="${src.dir}" destdir="${classes.dir}">
    <classpath>
        <pathelement location="${lib.dir}/lib1.jar"/>
        <pathelement location="${lib.dir}/lib2.jar"/>
    </classpath>
</javac>

对于库

<path id="mylibs">
    <fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>

<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="mylibs" debug="on"/>

添加属性 lib.dir

 <property name="lib.dir"  location="{here is path to your libraries}"/>
于 2013-02-07T05:53:40.453 回答
2

对于 Eclipse,我建议如下:

Right click your project -> Export -> Runnable Jar file 

Pick launch configuration, destination, extract required libraries into JAR, tick Save as ANT script

Finish.

最终,您将生成 Jar 文件以及可重用的 Ant 脚本。

然后你分析你的 Ant 脚本。

将库提取和打包到 jar 文件中的区别

于 2013-02-07T05:54:25.647 回答