Loading... 当你尝试运行一个jar文件时,可能会遇到一个错误提示,说“jar中没有主清单属性”。这个错误的意思是你的jar文件中没有指定一个主类。主类是包含main方法的那个类,它是程序运行时首先被调用的。在Java应用程序中,main方法作为程序入口点。 解决这个问题需要两步。首先需要确保你有一个包含main方法的Java类,并且这个Java类能够正确地启动你想要运行的应用程序。其次,在创建jar文件时要确保在清单(Manifest)文件中指定了正确地主类。 下面详细解释一下如何操作: 1. 确认有包含main方法的Java 类 首先确认一下是否存在能够启动应用程序入口点(即 main 方法) 的 Java 类。 例如: ```java public class MainClass { public static void main(String[] args) { // 代码逻辑 } } ``` 2. 创建或修改Manifest 文件 清单(Manifest) 文件是 jar 文件内部特殊存在,在创建 jar 包过程会自动生成或者可以手动创建。 清单文件通常名为 MANIFEST.MF ,位于 META-INF 目录内部。 3. 在 Manifest 中指定 Main-Class 属性 在 Manifest 中添加或修改 Main-Class 属性来指向上面确认过存在 main 方法 的 Java 类全名。 ```text Manifest-Version: 1.0 Main-Class: com.example.MainClass ``` 注意:Main-Class 后面的值是你的主类的全名,包括它所在的包。例如,如果你的主类叫 MainClass,并且它在一个叫 com.example 的包里,那么你应该写 `Main-Class: com.example.MainClass`。并且注意 Manifest 文件每行结束后需要有一个空格或者新行。 4. 创建或重新打包 jar 文件 使用 jar 命令重新打包jar文件,并指定新创建或修改过后含有 Main-Class 属性 的 Manifest 文件。 ```bash jar cvfm new.jar MANIFEST.MF -C compiled/ . ``` 这个命令中 cvfm 是选项集合:c 表示创建新归档文件;v 表示生成详细输出到标准输出;f 表示指定归档文件名;m表示使用提供清单文件。 new.jar 是要创建jar 包名称。 MANIFEST.MF 是清单(Manifest) 文件路径。 -C compiled/ . 指定了要添加到jar中内容所在目录和内容(这里是所有内容)。 这样就可以解决“jar中没有主清单属性”的问题了。如果还有问题可能需要检查一下是否正确地指向了含有main方法地Java类以及Manifest是否正确配置和引用。 <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://www.tsyvps.com" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(https://www.8kiz.cn/img/6.png);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">蓝易云-五网CN2服务器【点我购买】</p> <div class="inster-summary text-muted"> <span style='color: red;'>蓝易云采用KVM高性能架构,稳定可靠,安全无忧!<br>蓝易云服务器真实CN2回国线路,不伪造,只做高质量海外服务器。</span> </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> --- **<span style='color:#000000'>海外免备案云服务器链接:[www.tsyvps.com](https://www.tsyvps.com)</span>** **<span style='color:#DC143C'>蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。</span>** 最后修改:2023 年 09 月 27 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏