从命令行编译不使用库

时间:2014-10-13 02:06:09

标签: java class jar compilation manifest

我正在开发一个项目,我需要自动编译.java文件'(所以不使用Eclipse) 现在我在编译源代码所需的库时遇到了一些麻烦。

问题是编译后的代码扩展了一个库中的类。 我已经添加了类路径,并确保库实际位于正确的目录中。 但它似乎无法运行。

我收到一条错误消息,指出无法找到或加载该类。 我修改了测试源,因此它没有扩展。然后它确实有效。

如何使编译的类能够实际使用类路径中的库中的类?

我用它来编译:

javac -d /bin -cp kit.jar src/com/indieveloper/kittest/*.java

类文件编译时没有错误,也在正确的包层次结构中编译

这是清单:

Manifest-Version: 1.0
Class-Path: .;lib/kit.jar
Created-By: Me
Main-Class: com.indieveloper.kittest.Main

带有jar的文件夹lib位于最终打包的.jar最终的同一文件夹中 我使用此代码构建的:

jar cvfm test.jar manifest.txt -C bin/ .

最终罐子的内部对我来说似乎没问题:

META-INF/
META-INF/MANIFEST.MF
com/
com/indieveloper/
com/indieveloper/kittest/
com/indieveloper/kittest/Main.class

清单仍然正确(在“刺激”期间没有任何改变清单) 我也尝试将jar文件夹与jar放在最后一个jar中,但这是一次无望的尝试..

确切错误:

java -jar test.jar
   Error: Could not find or load main class com.indieveloper.kittest.Main

有谁知道我可以做到这一点吗?

0 个答案:

没有答案