2012-05-03 41 views
3

这是我的第一个问题,所以对任何错误表示歉意。我会尽量给我所有的信息。基本上我写了一个简单的swing应用程序,它只是将图像加载到JPanel中并显示它。我正在使用Netbeans 7.1,并拥有最新版本的Java SDK。 无论如何,我已经使用NetBeans 7.1中的“构建”功能将我的应用程序部署到Jar文件中。当我双击我PC上的Jar文件时,它运行时没有问题。然而,当我把它放在其他计算机(测试2人到目前为止,无论是使用最新的JRE)就无法打开,列举了以下错误:简单的秋千应用程序。该jar文件运行在我的电脑上,但不是其他人

could not find the main class: swong.Startup. Program will exit

swong是我的包名,并启动是我的主要方法的位置。我已经检查了使用Netbeans的构建创建的清单文件,它[清单]确实包含了我的主要方法类的位置。

从搜索中,我遇到类似的问题,其中类路径设置错误,但我不明白这可能会导致我的特定错误。

如果有人能帮助我,我会在月球上。我已经学习了一年左右的Java,并且我有一个很好的处理方式,但我从来没有能够制作一个运行在不是我自己的计算机上的Jar。所以,10分,并提前感谢。

xo。

编辑:谢谢你的回应。我正在做轮班工作并且淹没了,但我会明天测试并回应这些反应,并提供更多信息。再次感谢。 XO

+1

如果从命令提示符下通过java运行-jar yourJarFile.jar它使非工作的机器有什么错误? – BigMike

回答

2

我在分发​​我的应用程序时遇到了同样的问题。有一种解决方案,您使用'java -jar AppName.jar'创建批处理文件并要求用户双击该批处理文件以执行您的应用程序。我所做的是提供一个JRE安装exe(例如:jre_1.7.0)与您的应用程序。 现在创建一个批处理文件(INSTALL.BAT)在里面写上以下命令

jre_1.7.0 - >这将在用户的PC上安装JRE

设置PATH =“C:\ Program Files文件\的Java \ jre_1.7.0 \ BIN”罐子yourAppName.jar

为什么我安装了JRE,因为不同的人有不同的安装版本的JRE

的Java。因此,这很难设置路径到已安装的JRE的bin文件夹&,调用'java -jar'命令。因此,您知道JRE安装将创建哪些文件夹,因此使用'java-jar'命令可以轻松设置路径并执行jar文件。

2

检查您的jar文件的结构如下(至少)

jarfile.jar 
    |---------- swong 
       |---------- Startup.class 
    |---------- META-INF 
       |---------- MANIFEST.MF 

好像类“启动”丢失。也许你的jar只包含.java文件,而不是编译的类。

0

当您尝试使用不同的Java运行时环境然后java7启动java7编译的类时,此错误消息可能是错误的java7错误。您是否验证过您的.jar是在其他测试机器上的Java7环境中启动的?有时候会发生,你已经安装了不同版本的JRE,你可能不知道哪一个实际启动了。

要查看它使用的环境,您可以在注册表中下面的值检查: HKEY_CLASSES_ROOT \ jar文件\壳\开放\命令

这应该指向你的最新的JRE。或者,如果你想留下来的Java6也兼容,定义构建环境此时,相应的编译水平。

相关问题