2014-05-17 50 views
0

我想運行一個基於java的java分析器來找出什麼在我的專用機器上用我的java應用程序資源。我試圖使用的分析器稱爲warmroast。運行java分析器

我從運行中得到以下錯誤。

java -jar warmroast.jar 

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/attach/AttachNotSupportedException 
     at java.lang.Class.getDeclaredMethods0(Native Method) 
     at java.lang.Class.privateGetDeclaredMethods(Unknown Source) 
     at java.lang.Class.getMethod0(Unknown Source) 
     at java.lang.Class.getMethod(Unknown Source) 
     at sun.launcher.LauncherHelper.validateMainClass(Unknown Source) 
     at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: com.sun.tools.attach.AttachNotSupportedException 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     ... 6 more 

我認爲這個錯誤是通過運行帶有JRE,而不是JDK的文件引起的。

我已經安裝java-1.7.0-openjdk-1.7.0.55-2.4.7.1.el6_5.x86作爲yum包。

[[email protected] ~]# java -version 
java version "1.7.0_55" 
OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13) 
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode) 

我認爲要解決這個問題,我需要使用jdk運行jar文件。是否有某種jdk bin文件的jdk路徑?如果是這樣,它是什麼在centos?我搜索了一段時間,想出了許多錯誤的路徑。我覺得自己很蠢,因爲我覺得JRE是JDK和JDK的一部分,只是利用編制的東西,我不認爲你可以使用JDK ... ... 運行文件...

+0

通常,您應該轉到JDK路徑,然後轉到JRE庫。 –

+0

我想找出jdk路徑是在centos中。 – user3646500

回答

1

的類無法在JDK中找到tools.jar。即使您使用JDK而不是JRE,該庫通常也不會自動放在類路徑中。

按照documentation,在Linux上warmroast應如下開始(與路徑爲JDK取代PATH_TO_JDK):

java -Djava.library.path=PATH_TO_JDK/jre/bin -cp PATH_TO_JDK/lib/tools.jar:warmroast-1.0.0-SNAPSHOT.jar com.sk89q.warmroast.WarmRoast --thread "Server thread" 

這裏,tools.jar手動添加到類路徑。

+0

我似乎得到了更多的錯誤http://pastebin.com/Ps5AMyJS – user3646500

+0

你們是怎麼知道完整的文件名?我從來沒有提供 – user3646500

+0

@ user3646500你的意思是什麼文件名? – isnot2bad