2013-04-09 57 views
2

我有這樣的Java類:找不到主類:SortAlgorithms

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> 

有誰知道發生了什麼事? Thnaks提前。 費利佩

+1

相關/ dup:http://stackoverflow.com/questions/2390733/incompatible-magic-value-1008813135 – Doorknob 2013-04-09 13:07:44

+0

我沒有使用小程序。我沒有緩存。 – 2013-04-09 13:34:51

回答

0

望着的Java API:

file is malformed or otherwise cannot be interpreted as a class file.

我相信,你需要編譯這將運行代碼的機器上的Java文件。

2

您的班級文件未正確複製。它以字符串'< sof'開頭,這絕對不是java字節碼的開始。

0

雖然maxkar和user1773630的答案看起來都不錯,但聽起來像.class文件沒有正確傳輸。比較校驗和還是製作一個.jar?

如果您已經安裝了不同主要版本的jdk,那麼也可能存在類兼容性問題,這可能會導致類似的錯誤。