在ant编译中包含JAR文件

时间:2011-02-24 15:31:15

标签: java ant jar

我想将一些.java文件编译成JAR。我想在另一个应用程序中使用这个JAR文件。

这是在我的第二个应用程序中使用第一个应用程序中的函数的好方法吗?我的目标是不重复代码。

如何编辑第二个应用程序的build.xml文件以包含我创建的JAR文件?编译项目时,JAR文件中的函数未解析:

[javac] C:\HelloWorld\src\com\example\helloworld\HelloWorld.java:7: 
        package TOOLS does not exist  
[javac] import TOOLS.Logs;

编辑:
当我在javac中添加build.xml任务时,编译失败,因为找不到其他包:

[javac] Compiling 1 source file
[javac] C:\HelloWorld\src\com\example\hellowolrd\HelloWorld.java:3: 
        package android.app does not exist
[javac] import android.app.Activity;
[javac]                   ^

为什么在包含JAR文件后找不到原始包?

3 个答案:

答案 0 :(得分:5)

是。一般来说,将功能细分为库以便重用,易于开发等是一种很好的做法。如果它们是单独构建的,它将加速开发,并且您可以轻松地将功能分配给后续项目。

你可以这样引用你的jar:

  <javac srcdir="${src}"
         destdir="${build}"
         classpath="xyz.jar"
         debug="on"
  />

有关详细信息,请参阅javac文档。

答案 1 :(得分:0)

您需要将JAR添加到类路径中。

 <javac srcdir="${src}"
         destdir="${build}"
         classpath="xyz.jar"
         debug="on"
         source="1.4"
  />

有关详细信息,请参阅here

答案 2 :(得分:0)

在javac任务中使用classpath或classpathref属性,或者包含嵌套的classpath元素,如javac ant task documentation中所述。

注意:Java中的包应该是小写的。