【问题标题】:Java creating runnable .jarJava 创建可运行的 .jar
【发布时间】:2016-07-09 01:54:45
【问题描述】:

我正在尝试将我的 GUI 项目作为可运行的 jar 文件从 eclipse 中导出。我选择了主类并创建了运行配置。出于某种原因,当我尝试通过双击启动程序时,我从 JVM Launcher 收到以下错误消息:

" 找不到主类,程序将退出"

public class Main {


public static void main (String[] args)
{
    JFrame fr = new JFrame();
    fr.setSize(300,300);
    fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fr.setVisible(true);
}}

我为这个问题创建了这个简单的测试,我得到了同样的信息。 Main 在默认包的源文件夹“src”中。在 Run Configurations 中,我只是选择了项目,然后我选择了这个类作为主类。

谢谢

【问题讨论】:

    标签: java swing export executable-jar


    【解决方案1】:

    尝试使用 java -jar <path-to-jar-file>.jar 运行 jar

    如果上述工作正常,那么您的 jar 创建没有任何问题,并且它创建了一个正确的可运行 jar。问题可能出在您安装的 JDK/JRE 上。

    【讨论】:

    • 从 cmd 运行。
    • 那么它就是一个可运行的jar。您的 JDK 安装有一些问题。您可能需要重新安装它。只需双击即可在不同的机器上运行相同的 jar。您可以通过双击在不同的机器上运行来检查它。
    【解决方案2】:

    确保两个 java 版本相同。

    1. 在哪个可运行 jar 上导出(比如 java 版本 1.m.n.z)。
    2. 在您运行 jars 的环境中(java 版本应该是严格的 1.m.n.z)。目标机器有java版本

        Try java -jar <path  where ever your jar is >jarName.jar
      

    【讨论】:

    • 您的意思是,例如,当我创建一个版本为 5.0.7 的 jar 时,我无法在 java 版本 6.0.9 上运行它吗?
    • 您始终提供向后兼容性。没有要求您应该具有完全相同的版本。只是如果你创建一个更高版本的jar,你不能在更低版本上运行它。
    【解决方案3】:

    在导出 jar 文件之前,请确保您的程序使用的 JDK/JRE 与系统类路径中的相同。

    您还可以通过将可运行 jar 中的文件与项目中的文件进行比较来检查 manifest.txt 文件(文件应以新行结尾)。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2012-03-06
      • 2011-12-30
      • 2012-08-01
      • 1970-01-01
      • 2020-05-05
      • 2014-03-10
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多