我正在制作一个可运行的 jar,其中我的主类是 eclipse 的 JarRsrcLoader。
这是我的包结构:
org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
还有我的 list :
Manifest-Version: 1.0
Rsrc-Class-Path: ./selenium-server-standalone-2.39.0.jar
Class-Path: .
Rsrc-Main-Class: test.Main
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
以及我的 jar 内的目录结构:
当我尝试使用以下命令从命令行运行 jar 时:
java -jar output.jar
我得到:
Error: Could not find or load main class org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
有人能看出我哪里出了问题吗?当我将 org
文件夹放在与 output.jar
相同的目录中时,它运行正常。我希望从 jar 中找到它,这样就没有外部依赖项。谢谢
更新
类文件位于 jar 中:
最佳答案
虽然这个问题很久以前就被问过,但这对我有用
尝试在工作区中创建一个包,例如 com.eclipse.jdt.internal.jarinjarloader 并放置所有文件 JarRsrcLoader.java、RsrcURLConnection.java、RsrcURLStreamHandler.java 和 RsrcURLStreamHandlerFactory.java(可以从 google 下载)。 然后编写Manifest如图
Build-Jdk: 1.7.0_55
Class-Path: .
Rsrc-Main-Class: com.abc.Master
Main-Class: com.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Rsrc-Class-Path: ./ lib/xyz.jar
关于java - list .mf : reference Main-class in jar file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21761664/