2013-04-09 55 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,那么也可能存在类兼容性问题,这可能会导致类似的错误。