2011-02-24 108 views
3

我想将一些.java文件编译成JAR。我想在另一个应用程序中使用这个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; 

编辑:
当我在build.xml添加javac任务,编译失败,因为其他包都没有发现:

[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文件后未找到原始包?

回答

5

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

你可以这样引用您的罐子:

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

javac文档的详细信息。

+0

感谢您的回答。 – TheFrancisOne 2011-02-24 16:09:06

+0

感谢您的回答。 但是当我在我的构建中添加javac任务。xml,现在编译失败,因为没有找到其他软件包: [javac]编译1个源文件 [javac] C:\ HelloWorld \ src \ com \ example \ hellowolrd \ HelloWorld.java:3:package android.app not存在 [javac] import android.app.Activity; [javac]^ 包含.jar文件之后,为什么我的原包还未找到? – TheFrancisOne 2011-02-24 16:28:29

+0

这与添加该jar无关。你需要指定该罐旁边*其他*罐子? – 2011-02-24 17:13:44

0

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

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

更多信息,请参见here

+0

感谢您的回答。 但是,当我在我的build.xml中添加javac任务时,编译失败,因为未找到其他程序包: [javac]编译1个源文件 [javac] C:\ HelloWorld \ src \ com \ example \ hellowolrd \ HelloWorld.java:3:包android.app不存在 [javac] import android.app.Activity; [javac]^ 包含.jar文件之后,为什么我的原包还未找到? – TheFrancisOne 2011-02-24 16:28:14

0

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

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

+0

感谢您的回答。 但是当我在我的build.xml添加javac任务,现在编译失败,因为其他包都没有发现: [javac的]源文件编译 [javac的] C:\ HelloWorld的\ SRC \ COM \例子\ hellowolrd \ HelloWorld.java:3:包android.app不存在 [javac] import android.app.Activity; [javac]^ 包含.jar文件之后,为什么我的原包还未找到? – TheFrancisOne 2011-02-24 16:28:49