在mac上运行java的问题

在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

我使用的是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 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
此设置毫无意义。您可以(也应该)将此目录添加到您的路径中,但不设置类路径。