gpt4 book ai didi

java - NetBeans 制作的 jar 文件不起作用

转载 作者:行者123 更新时间:2023-12-02 06:39:25 26 4
gpt4 key购买 nike

所以我用 NetBeans 的 swing GUI 制作了这个(非常简单的)程序,然后我单击“构建”来制作一个 jar 文件。当我双击运行它时,它告诉我它找不到主类,经过检查,我确定它确实存在。但是,当我从命令提示符运行它时,它运行良好。这种奇怪行为的任何容易确定的原因(如果你想要源代码,我可以在这里发布)?

最佳答案

NetBeans 中似乎需要的东西是:

  • 该项目必须是主项目(通过在“项目”列表中右键单击它)。
  • 您必须在项目属性中设置主类。 (右击,属性,运行,主类。)

然后,当您右键单击您的项目并执行“清理并构建”时,一个 jar 将构建到 dist 中。子目录。

如果这不能解决问题,这里有一个更长的故事......

当您双击一个 jar 文件来运行它时,操作系统的行为就好像您从命令行输入了这个:

java -jar filename.jar

(当您说它可以从命令行为您工作时,您输入的是这个吗?)

此时,Java 可执行文件在 jar 中查找名为 META-INF/MANIFEST.MF 的文件.然后在该文件的内容中,它查找属性的值 Main-Class .最后它在你的 jar 中寻找那个名字的类并运行它的静态 main(String[])方法。

因此,如果您的 jar 无法运行,您可以执行以下操作来调试正在发生的事情:

  • 在 NetBeans 中清理并重建您的项目。
  • 仔细检查你的类是否真的在 jar 里:
    • 启动命令提示符
    • cd进入dist项目的子目录。
    • 使用类似 jar tf filename.jar 的命令列出其中的内容。
  • 仔细检查 MANIFEST.MF文件正确:
    • 再次在命令提示符下
    • cd进入dist目录。
    • 使用类似 jar xf filename.jar META-INF/MANIFEST.MF 的命令提取 list 。
    • 查看该文件的内容(例如 type META-INF\MANIFEST.MF )并确保 Main-Class设置为适当的类。

如果以上所有检查都通过,则双击文件应该可以工作。

关于java - NetBeans 制作的 jar 文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11056871/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com