Windows 7 (64 비트), Indigo/Java 1.6에서 Tycho를 사용하여 제품을 빌드하는 크로스 플랫폼 RCP 응용 프로그램을 개발하고 있습니다.NoClassDefFoundError : Linux/Mac OS에서 Tycho 기반 Eclipse RCP 응용 프로그램을 실행할 수 없습니다.
이클립스의 Run Configuration에서 애플리케이션이 잘 실행되고 Win x_86_64 빌드가 잘 실행되는 동안 xubuntu (OpenJDK Java 6 Runtime (1.6.0_24) 및 Mac OS X (. 1.6.0_35)() 리눅스에
오류는 (실행 java myprogram
) 다음과 같습니다
Exception in thread "main" java.lang.NoClassDefFoundError: myprogram
Caused by: java.lang.ClassNotFoundException: myprogram
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: myprogram. Program will exit.
내가 전에이 건너했는지 확인 해요, 내가 바보 일 (생각 이 문제는 AFAIK 이전의 Windows에서 발생했으며 Java를 다시 설치하면 어떤 이유로 든 해결되었습니다.) 그러나이 경우 빌드/대상과 관련이 있어야한다고 생각합니다. 플랫폼/Tycho 설정.
크로스 플랫폼 빌드에 대한 책임을 내 부모 POM의 부분은 충분히 의심하지 않는 같습니다
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<resolver>p2</resolver>
<pomDependencies>consider</pomDependencies>
<!-- configure the p2 target environments for multi-platform build -->
<environments>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
이 작동되지 않는 이유 사람이 어떤 아이디어가 있습니까? 많은 감사!
'java myprogram -X'와 똑같은 오류 메시지가 나타납니다. –