在mac上运行java的问题
我使用的是Macbook Pro、Maverics OS、64位机器。在mac上运行java的问题,java,macos,user-interface,classpath,Java,Macos,User Interface,Classpath,我使用的是Macbook Pro、Maverics OS、64位机器。 实际上,在我的计算机上运行java程序时,我面临着一个非常棘手的问题 例如,这是我的代码: package com.gui.helloworld; import javax.swing.JOptionPane; /** * <p>Hello World popup</p> * This class simply pops up a "Hello, World!" * message
实际上,在我的计算机上运行java程序时,我面临着一个非常棘手的问题 例如,这是我的代码:
package com.gui.helloworld;
import javax.swing.JOptionPane;
/**
* <p>Hello World popup</p>
* This class simply pops up a "Hello, World!"
* message graphically.
*
* @author Aditya R.Singh
* @version 1.0
* @since 2014-06-22
*/
public class GUIHelloWorld {
/**
* This is the method that will popup the
* "Hello, World!" message.
* @param args Unused
*/
public static void main(String[] args) {
JOptionPane.showMessageDialog(null, "Hello, World!");
}
}
将生成一个GUIHelloWorld.class。到了这个地方,一切都很好 但问题出现在这里 当我尝试像这样运行代码时:
java com.gui.helloworld.GUIHelloWorld
java -classpath . com.gui.helloworld.GUIHelloWorld
这给了我一个错误,比如
Error: Could not find or load main class com.gui.helloworld.GUIHelloWorld
所以我必须这样编译程序:
java com.gui.helloworld.GUIHelloWorld
java -classpath . com.gui.helloworld.GUIHelloWorld
现在,将显示输出。这很好,但是当.class文件位于
同一目录?
我不喜欢这种款式。
两个月前我使用windows 7机器时,这不是问题。
有什么帮助吗?还是说它是mac OS所必需的?
请帮忙
提前谢谢;) javac或没有类路径选项的java将工作目录作为默认类路径 对类的引用必须包括包名。因此,如果您编译并执行
javac One.java
java One
类1应位于默认包中(无包语句)。如果你编译
javac a/b/Two.java
类2应该在包a.b中。然后,可以使用
java a.b.Two
通过设置环境变量CLASSPATH可以实现其他“效果”,该变量可以被
-cp
选项覆盖。(可能这就是你的情况-通过运行echo$CLASSPATH
进行检查)@SotiriosDelimanolis我很抱歉,我编辑了这个问题。请再读一遍并帮助我。实际上,我使用了完全限定的包名。我只是忘了把它挂在这里。M sorry另外,将-classpath
设置为
是默认设置。请提供有关如何运行java
的更多详细信息。您当前的工作目录是什么?相应的文件夹中有什么?@SotiriosDelimanolis我的目录名是“JavaHelloWorld”。我在目录“JavaHelloWorld”中有一个包“com/gui/helloworld”。我在“com/gui/helloworld”中有GUIHelloWorld.java。编译后,我在“com/gui/helloworld”中有GUIHelloWorld.class和GUIHelloWorld.java。我的终端在“JavaHelloWorld”目录中打开过,现在也打开了。嘿,这个$CLASSPATH
环境变量。是因为我将一个$CLASSPATH
环境变量设置为其他变量吗???是不是我在运行时必须放置类路径
?你从echo$CLASSPATH中得到了什么?如果已设置,且不包含“.”,则必须使用-classpath。
我已将其设置为我的$JAVA\u HOME/bin
此设置毫无意义。您可以(也应该)将此目录添加到您的路径中,但不设置类路径。