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?
You need to add your JAR to your classpath.
See here for more info.
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:
See the javac documentation for more information.
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.