2011-01-20 12 views
0

"大きな" Maven/Javaプロジェクトで作業していて、アプリケーションを実行するときにエラーが発生することはありません(コンパイルは正常です)。私が取得エラーコードは次のとおりです。Java NoClassDefFoundError

java.lang.NoClassDefFoundError: Could not initialize class com.sun.management.OperatingSystem 
    at com.sun.management.OSMBeanFactory.getOperatingSystemMXBean(OSMBeanFactory.java:30) 
     at sun.management.ManagementFactory.getOperatingSystemMXBean(ManagementFactory.java:100) 
     at sun.management.ManagementFactory.createPlatformMBeanServer(ManagementFactory.java:308) 
     at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504) 
     at com.sun.xml.internal.ws.server.JMXAgent.<init>(JMXAgent.java:49) 
     at com.sun.xml.internal.ws.server.JMXAgent.getDefault(JMXAgent.java:77) 
     at com.sun.xml.internal.ws.server.WSEndpointImpl.<clinit>(WSEndpointImpl.java:84) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:169) 

それを見てから、それはVMが「com.sun.management.OperatingSystem」クラスを見つけることではないですが、それがどこにあるの周りグーグルでの後、私は見つけることができないようですクラスが存在するはずです。

ヒント

EDIT:JRE JDK 1.6.0_18で実行(JAVA_HOME = C:\プログラムファイル\ Javaは\ jdk1.6.0_18)

+0

アプリケーションを実行しているJavaのバージョンは? –

+0

mavenと起動スクリプトの関連部分も投稿できますか? – Sean

答えて

1

で追加されたことが表示されますあなたの問題を引き起こしますが、JDKが "Program Files"の下に格納されていると、あなたが見ているようなエラーが発生することがあります。 Javaは、ファイルシステムのパス内の空白を好まない。

0

com.sun.managementは、文書化されていないJavaパッケージです。 OperatingSystemクラスは、OperatingSystemMXBeanの実装です。 Javasourceコードをダウンロードすると、そのクラスが表示されます。

このファイルの場所については、標準のJREパッケージに含まれている必要があります。アプリケーションが適切なJREを指していることを確認してください。 Java 5/6では、クラスはrt.jarファイルにあります。

ファイルがあることを確認したい場合は、JD-Guiのようなプログラムでjarファイルを開き、確認するためにJarの周りを見てください。

+0

Yup、OperatingSystem.class、および "rt.jar \ com \ sun \ management - ZIPアーカイブ"にある他のすべてのファイルがあります。だから、エラーはそれによって生成されないようだ – obaqueiro

0

のJava 6と7のjavadocを見てみると、それは何ではないかもしれません(自分のスタックトレースである)OSMBeanFactoryが7

Monitoring and Management Interface for the Java™ Platform (6)

Monitoring and Management Interface for the Java™ Platform DRAFT ea-b120 (7)

+0

それは文書化されていない可能性がありますが、それはjarファイルにあります。私が見ることができるものとして5まで – Sean

関連する問題