1

Win 7 (64 ビット)、Indigo/Java 1.6 でクロスプラットフォーム RCP アプリケーションを開発しており、Tycho で製品を構築しています。

アプリケーションは Eclipse 内の実行構成から正常に実行され、Win x_86_64 ビルドも正常に実行されますが、xubuntu (OpenJDK Java 6 ランタイム (1.6.0_24) と Mac OS X (1.6.0_35) を使用) の両方で次のエラーが発生します。 .

エラー (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>

なぜこれがうまくいかないのか、誰にもアイデアがありますか? どうもありがとう!

4

1 に答える 1

2

これは、EclipseRCPアプリケーションを実行する方法ではありません。

適切なネイティブランチャーを使用して起動するかjava -jar plugins/org.eclipse.equinox.launcher_(yourVersion).jarこのドキュメントを参照)、アプリケーションを選択するための引数を追加して起動する必要があります。

また、Equinoxを起動するために必要なバンドルがアプリケーションに含まれていることを確認する必要があります。これを行うには、製品に機能を含めorg.eclipse.rcpます。

于 2012-10-15T13:31:16.160 に答える