我發展在Win 7(64位)一個跨平臺的RCP應用程序,靛藍/ Java 1.6的運行第谷建Eclipse RCP應用程序,構建產品與第谷。在eclipse中運行配置運行良好,並且Win x_86_64構建也運行良好,我在xubuntu(包括OpenJDK Java 6 Runtime(1.6.0_24)和Mac OS X(包含OpenJDK Java 6 Runtime(1.6.0_24))上得到以下錯誤( 。1.6.0_35)NoClassDefFoundError的:無法在Linux /的Mac OS
錯誤(在Linux上)看起來像這樣(運行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' –