2

私はこのJavaクラスを持っています:

public class SortAlgorithms {
public static void main(String... args) {

        String out = "";
        int vec1[] = readFile(args[0]);

        out = out + write(vec1);
        out = out + "=== INSERTION SORT ===\n";
        insertionSort(vec1, vec1.length);
        out = out + write(vec1) + "\n";
...
}
...
}

そして、Boinc プラットフォームの他のマシンにデプロイします。このクラスを実行するための bash スクリプトがあります。

#!/bin/sh

export JAVA_HOME="/usr/java/jdk1.6.0_34/"
export PATH=${JAVA_HOME}/bin:${PATH}

java SortAlgorithms 10 "output.txt" > saida.txt

そして、私はこのエラーを受け取ります:

<stderr_txt>
Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value 1014198118 in class file SortAlgorithms
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: SortAlgorithms.  Program will exit.

</stderr_txt>

誰が何が起こっているのか知っていますか?事前に感謝します。フェリペ

4

3 に答える 3

0

maxkar と user1773630 の両方の回答は正しいように見えますが、.class ファイルが正しく転送されていないように聞こえます。チェックサムを比較するか、.jar を作成しますか?

メジャー バージョンが異なる jdk がインストールされている場合、クラスの互換性の問題も発生する可能性があり、同様のエラーが発生する可能性があります。

于 2013-04-09T15:24:02.770 に答える
0

Java API を見ると、次のようになります。

ファイルの形式が正しくないか、クラス ファイルとして解釈できません。

コードを実行するマシンで Java ファイルをコンパイルする必要があると思います。

于 2013-04-09T13:39:24.163 に答える