我需要生成一个 jar 文件,该文件将被其他人用作库(我们称之为“myLib.jar”),因此该 jar 不需要是可执行的。该库依赖于其他一些 3rd-party jar,但我不会期望那些使用“myLib.jar”的人将它们包含在他/她的 Buildpath 中。
在搜索时,我找到了 OneJar并按照页面顶部的 2 个步骤进行操作。
1. Download one-jar-appgen-0.97.jar
Generate application, build, and run it.
$ java -jar one-jar-appgen-0.97.jar
2. Enter project path (project name is last segment): c:/tmp/test-one-jar
Enter java package name: com.example.onejar
$ cd c:/tmp/test-one-jar
$ ant
$ cd build
$ java -jar test-one-jar.jar
test_one_jar main entry point, args=[]
test_one_jar main is running
test_one_jar OK.
Add source code to the src directory, library jars to the lib directory, and rebuild.
不幸的是,这对我不起作用,因为当我尝试在新项目中包含“myLib.jar”时,我无法使用预期的类。
所以...
Q1:OneJar 是否仅适用于可执行 jar?如果不是我怎么能实现我上面描述的。
Q2:如果 OneJar 仅用于可执行文件,是否有另一种方法来生成“myLib.jar”库?
PS:如果需要添加更多信息,请告诉我,以便编辑我的问题。