使用清单将java项目导出为jar文件
我刚刚编写了Java控制台项目,应该将其打包为jar文件。我在谷歌上搜索了很多,找到了不同的解决方案,比如(Eclipse)Project->;新配置->;e、 然后使用指定的配置导出为jar文件。那很好,但这不是我需要的。反复制作后,它将不起作用。我试着像这里提到的那样:click
第二种解决方案:使用清单创建jar。这样更好,因为我可以指定main的入口点。班但由于can的原因,它不会工作;我不知道其他包裹在哪里
Upd:发射器。课堂看起来像这样
package backpack.dao;
public class Launcher{
public static void main(String[] args){
Backpack.start();
}
}
我的项目结构:
src/backpack/dao/Item.java
/Backpack.java
/Chromo.java
src/backpack/main/launcher/Launcher.java
问题是:我应该在清单中写什么,而不是这样写:
Main-Class src/backpack/main/launcher/Launcher
创建可执行jar
成功
p.S Launcher类使用背包中的实例。JAVA 请不要降级。我是新手
谢谢
# 1 楼答案
发射器的包装是什么。JAVA您是否已将包名包含到清单中的类名中。txt? 记住,当发射器。java在包“backpack.main.launcher”中,您的类名在清单中。txt将是:
而不是:
另外,请记住:
要检查jar文件的具体错误,请在命令行中使用以下命令运行它:
并将输出粘贴到此处,并显示错误消息
有关更多帮助,您可以从Oracle查看此示例:link
编辑:
我重新创建了您的项目结构,并找到了解决方案(至少我认为我找到了:)
some/path/src/backpack/main/launcher
时,转到src
目录李>jar cvfe MyJar.jar backpack.main.launcher.Launcher -C . .
(是的,末尾有两个点)这将创建名为
MyJar.jar
的jar和主类为backpack.main.launcher.Launcher
的清单文件(-e标志)-C标志包括所有*。从目录.
(当前目录)递归类文件,因此从dao
和launcher
包递归类文件java -jar MyJar.jar