虽然我们已经将Main.class打包了,并且Main.class有main(String … args)入口方法,可是这个jar还是不能执行,因为虚拟机并不知道这个包中的哪个class中是有main方法的 java -jar Main.jar 输出: Main.jar中没有主清单属性 1 2 3 4 下面还是恢复到有MANIFEST.MF文件的Main.jar包,我们要将他解压,在MANIFEST.MF中...
在Linux中运行Java程序的jar包,报错如下: 出现问题的原因:jar包里的MANIFEST.MF文件内没有指定Main-Class项的值 解决方法一:重新打jar包。 打jar包时,在eclipse里面--->项目右键-->Build FatJar-->在出现的界面中指定你项目的Main-Class,这个框填上后,再打包即可正常运行! 解决方法二:修改 ...
您可以在其 Manifest 文件中创建没有 Main-Class 的 jar。然后 : java -cp MyJar.jar com.mycomp.myproj.dir2.MainClass2 /home/myhome/datasource.properties /home/myhome/input.txt 原文由 lxu4net 发布,翻译遵循 CC BY-SA 4.0 许可协议 有...
因为要创建可执行 的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的 JAR 文件 包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了 Main- Class 一项。这在 MANIFEST 中书写格式如下: Main-Class: 可执行主类...
指定Main Class 在使用jar命令打包Jar包时,可以通过指定-e参数来指定Main Class。如果不指定Main Class,则打包的Jar包不会包含Manifest文件,也就无法直接运行。 下面是使用jar命令打包指定Main Class的示例: ```bash jar cfe MyApp.jar com.example.MyApp com/example/*.class ...
2 、解决办法很简单。就是在MANIFEST.MF添加入口。 首先找到你的jar文件: 之后双击打开jar文件,你的电脑需要安装有winrar。或者其他压缩工具。 之后,在双击打开这个文件夹META-INF: 再选择MANIFEST.MF文件,用记事本打开它: 现在看看文件中是否有Main-Class这样一行文字,如果没有的话那么添加一行。
tasks.jar { // 设置主类,导出的jar可以直接运行 manifest { attributes["Main-Class"] = "MainKt" // 格式为包名+类名+“Kt”(因为kotlin编译后生成的java类会自动加上kt) } // 下方的依赖打包可能会有重复文件,设置排除掉重复文件 duplicatesStrategy = DuplicatesStrategy.EXCLUDE // 将依赖一起打包进jar...
想在Jar包的Manifest文件中加入Main-Class描述符,在网上查了一下,大都是说要自己写一个manifest文件,在里面定义Main-Class,然后运行:jar cvf ikeel.jar mymanifest.mf src/. 但是我发现我试了几次总是不行,查看Manifest文件,其实并没有加入Main-class定义。 后来看来一下jar命令的参数选项,发现有一个e参数,...
对于通常的MANIFEST.MF文件,一般格式是: Class-Path: lib/a.jar lib/b.jar lib/c.jar lib/d.jar lib/e.jar lib/f.jar 在一行之内将所有的jar包路径写上,空格分隔即可。 但是对于一些大型的项目,因为依赖包众多,比如大于30个,那么如果还写在一行内,就会出现一个长度惊人的行。程序运行倒不会有任何问题,...
规范中最重要的一点,就是MATE-INF文件夹中的MANIFEST.MF清单文件了。 文件内容如下 一眼看过去,这个Main-Class配置就特别突出了。 它指明了这个启动类的位置。 当我们用java -jar xx.jar命令运行一个 jar 包时,无外乎,它肯定是帮我们找到这个 main 方法,然后启动它。