Reputation: 2737
I want to compile some .java
files into a JAR. I would like to use this JAR file in another application.
Is this a good way to use functions from my first application in my second application? My goal is to not duplicate code.
How can I edit the build.xml
file for the second application to include the JAR file I created? When I compile my project, functions from JAR files are not resolved :
[javac] C:\HelloWorld\src\com\example\helloworld\HelloWorld.java:7:
package TOOLS does not exist
[javac] import TOOLS.Logs;
EDIT:
When I add the javac
task in my build.xml
, compilation fails because other packages are not found:
[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] ^
Why are my original packages not found after I include the JAR file?
Upvotes: 3
Views: 15315
Reputation: 272407
Yes. It's good practice generally to subdivide functionality into libraries for reuse, ease-of-development etc. It'll speed development if they're separately built, and you can easily distribute functionality to successive projects.
You can reference your jar thus:
<javac srcdir="${src}"
destdir="${build}"
classpath="xyz.jar"
debug="on"
/>
See the javac documentation for more information.
Upvotes: 5
Reputation: 692131
Use the classpath or classpathref attribute in the javac task, or include a nested classpath element, as described in the javac ant task documentation.
Note : packages in Java should be in lowercase.
Upvotes: 0