简体   繁体   中英

How do I make a Java library with Eclipse?

I'm fairly new to Java and Android programming in general but I would like to create a small Java library for sharing some code between an ordinary (non-Android) Java application and an Android application; so my question is what is the best way of creating an ordinary Java library with Eclipse?

I didn't find anywhere the option for creating a new Java library project from Eclipse; does this mean that I must use an ordinary Java application as my starting point? As this will be used for an ordinary Java application as well, I cannot use an Android library.

Also, what would be the options that I must set up?

Finally, as this library will be in the same workspace as the application projects, is it still mandatory to create a JAR file if I can establish a direct link to the library project?

You don't have to create any library, if you use the same workspace.

Option 1: Just use the source

In the properties of the project which has the dependencies you can add another source-folder:

Properties > Java Build Path > Tab: Source > Add Folder...

In the Project Tab you can "add" the whole project to the other project, too. There are many ways to achieve your goal.

Option 2: Create and add the library to the Build-Path

Adding an existing Jar (your own library):

If it is in the workspace:

Properties > Java Build Path > Tab: Libraries > Add JARs...

If it is somewhere on the drive:

Properties > Java Build Path > Tab: Libraries > Add External JARs...

Exporting a source folder as a library:

Context Menu of Source Folder > Export > Jar File

There are two types: Executable Jars and "normal" Jars. You don't need an executable Jar.

A Java library is basically a set of JAR files. So what you can do is generate a JAR based on your source code and add it as a external JAR to the Java build path of your Android and non-Android projects.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM