Java GCJ在类中找不到GCCMA
我对linux和编程都是新手,我甚至不能运行简单的Hello World代码。下面是我所做的和我收到的错误,我正在使用Cygwin。有人能帮我吗Java GCJ在类中找不到GCCMA,java,Java,我对linux和编程都是新手,我甚至不能运行简单的Hello World代码。下面是我所做的和我收到的错误,我正在使用Cygwin。有人能帮我吗 theys@THEYS1 ~/java $ vim test.java theys@THEYS1 ~/java $ ls helloworld.java test.java theys@THEYS1 ~/java $ uname -a CYGWIN_NT-6.1-WOW64 THEYS1 1.7.15(0.260/5/3) 2012-05-09
theys@THEYS1 ~/java
$ vim test.java
theys@THEYS1 ~/java
$ ls
helloworld.java test.java
theys@THEYS1 ~/java
$ uname -a
CYGWIN_NT-6.1-WOW64 THEYS1 1.7.15(0.260/5/3) 2012-05-09 10:25 i686 Cygwin
theys@THEYS1 ~/java
$ cat test.java
public class test {
public static void main (String [] args) {
System.out.println ("Hello World!");
}
}
theys@THEYS1 ~/java
$ gcj --main=test -o test test.java
Exception in thread "main" java.lang.NoClassDefFoundError:
org.eclipse.jdt.internal.compiler.batch.GCCMain
at gnu.java.lang.MainThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException:
org.eclipse.jdt.internal.compiler.batch.GCCMain not found in
gnu.gcj.runtime.SystemClassLoader{urls=[],
parent=gnu.gcj.runtime.ExtensionClassLoader {urls=[], parent=null}}
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at gnu.java.lang.MainThread.run(Unknown Source)
这基本上是因为类路径设置不正确。。就像Makoto说的,使用openjdk会更干净!看看这个。该链接适用于windows,但其适应性很强
并确保在那里设置了当前文件夹
(代表当前目录)。这是GCC的安装问题,请参阅。配置GCC时,--with ecj jar
选项中没有指定文件名。或者配置GCC时在--with ecj jar
选项中指定的文件名在同一位置的系统上不存在。您可以通过以下命令在ecj1中找到硬编码的文件名:
$strings
当然,ecj1可执行文件的精确位置因您的系统而异。如果您使用的是Linux,是否有使用Cygwin的特殊原因?您可以显式地安装/使用openjdk6 jdk和
javac
来编译代码。使用gcj
有什么特别的原因吗。它不是Java编译器或环境,而是一个残缺的子集。