我刚接触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 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)发布于 2012-06-17 13:59:14
这基本上是因为您的class-path设置不正确。就像Makoto说的那样,使用openjdk会更干净!只需阅读此http://sandeepseshan.blogspot.com/2011/06/cygwin-java-and-classpath-problem.html即可。这个链接是针对windows的,但它很容易和快速地进行调整。
并确保在其中设置了当前文件夹.(代表当前目录)。
发布于 2018-03-24 18:41:43
这是一个安装问题的GCC,请参阅https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45433。配置GCC时未在--with-ecj-jar选项中指定文件名。或者配置GCC时在--with-ecj-jar选项中指定的文件名在同一位置不存在于您的系统中。您可以通过下面这样的命令在ecj1中找到这个硬编码的文件名:$ strings < /usr/lib/gcc/i686-pc-cygwin/4.7.3/ecj1.exe | fgrep java.class.path=,当然,ecj1可执行文件的确切位置因系统而异。
https://stackoverflow.com/questions/11069038
复制相似问题