2012-09-20 28 views
1

因此,当将该项目导出为可运行jar时,该jar在当前机器上工作正常。 移动罐子到另一台机器,它找不到主类: 使用CMD取得错误:可运行jar无法在一台机器上工作

 Desktop>java -jar RunMe.jar 
Exception in thread "main" java.lang.ExceptionInInitializerError 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Unknown Source) 
     at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa 
der.java:56) 
Caused by: java.lang.ArrayIndexOutOfBoundsException: 500 
     at pnl_user.readFile(pnl_user.java:667) 
     at pnl_user.readTNS(pnl_user.java:432) 
     at pnl_user.<init>(pnl_user.java:412) 
     at main.<clinit>(main.java:9) 
     ... 3 more 
+1

这通常意味着你必须在你的代码中的错误。也许你读的数据是不同的,所以你没有看到第一台机器上的错误。 –

+0

正确! ......从我的角度来看,多么愚蠢的事情 – CosminO

+0

仔细阅读例外并不像听起来那么容易。盯着他们几年,你开始得到他们;) –

回答

3

要运行一个JAR文件使用java -jar thejarfile.jar

java runme会尝试从当前类路径(可能未设置指向您的应用程序)运行类runme

+0

我想通过双击(可运行jar)运行罐子。它在一台机器上工作正常,而不是另一台机器上工作。 – CosminO

+0

@Ameoo:如果你双击它,你怎么看到这个消息?这根本不应该打开命令行窗口。当你尝试从'cmd'发布的命令时会发生什么? –

+0

我用cmd来获取错误,因为从双击我得到一个对话说它找不到主类。我认为张贴也完整的错误将有所帮助(这就是为什么我使用cmd) – CosminO

2

是这样的runme罐子名称或jar中的主类?

从一个罐子启动您的应用程序,你可以做以下:

java -jar runme.jar 
相关问题