繁体   English   中英

我有不同版本的javac和java。 我正在尝试在终端上运行.java文件。 但是它可以在日食中工作

[英]I have different versions of javac and java. I'm trying to run my .java file on terminal. But it works in eclipse

如何解决呢? 我可以编译它,但不能运行它。 我有不同版本的javacjava 我正在尝试在终端上运行.java文件。 但是它可以在日食中工作。 我知道该版本会影响到这一点。 如何升级javac 如果这样做会影响我的日食吗? 谢谢。 ;)

[clemjon@localhost ~]$ javac -version

javac 1.6.0_20


[clemjon@localhost ~]$ java -version

java version "1.6.0_21"

Java™SE运行时环境(内部版本1.6.0_21-b06)Java HotSpot™服务器VM(内部版本17.0-b16,混合模式)

检查使用哪个JRE eclipse:

Window->Preferences->Java->JREs右键单击选定的一个,然后单击Edit
JRE主目录路径应该在那里。 将该路径添加到您的path环境变量(而不是已经存在的环境变量)中,这将为您解决问题。

您还可以设置希望Eclipse编译到的JDK版本:
Window->Preferences->Java->Compiler

我最好的建议是跟踪所有已安装的JDK和JRE。

选择默认情况下要使用的变量,并将其添加到JAVA_HOMEPath环境变量中; 然后使用上述步骤将Eclipse设置为相同的值。

然后,如果对于特定项目,您需要使用特定的JRE,请右键单击该项目,然后转到BuildPath > Libraries -> JRE Library -> Edit并选择您的JRE。

免责声明:我现在不在我的开发机器上,因此名称可能是近似的。 :)

这与使用不同版本的javacjava无关。 这里的问题是,您正在尝试运行其完全限定名称( com.pl.casestudy.First )与传递给javaFirst )的类名称不匹配的类文件。 如果您具有相同版本的javacjava则会得到相同的错误。

如果您有一个名称为com.pl.casestudy.First的类,则Java会在名称为com/pl/casestudy/First.class的文件中查找它(Windows用户可以随意反斜杠的方向。)您将需要从包含com子目录的目录中运行First类。 我可以从堆栈跟踪中的shell提示中看到,您有一个名为casestudy的目录,我假设compl父目录也存在。 Eclipse可能已经为您创建了它们。

尝试cd出包含com的目录,使用进行编译

javac com/pl/casestudy/First.java

并使用

java com.pl.casestudy.First

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM