![](/img/trans.png)
[英]Problems running Java Remote Debugger JDWP on iMac running Mac OS X Snow Leopard 10.6.7
[英]Problems in running java on mac
我正在使用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!");
}
}
当我这样编译代码时,
javac com/gui/helloworld/GUIHelloWorld.java
生成一个GUIHelloWorld.class。
到这个地方,很好。
但是这里出现了问题
当我尝试运行这样的代码时:
java com.gui.helloworld.GUIHelloWorld
它给我一个错误
Error: Could not find or load main class com.gui.helloworld.GUIHelloWorld
所以我必须像这样编译程序:
java -classpath . com.gui.helloworld.GUIHelloWorld
现在,出现输出。
很好,但是,为什么仍然需要在.class文件中放入“ classpath”
同一目录?
我不喜欢这种风格。
两个月前我以前使用Windows 7计算机时,这不是问题。
有什么帮助吗? 还是对Mac OS而言是必要的?
请帮忙。
提前致谢 ;)
不带classpath选项的javac或java将工作目录作为默认类路径。
对类的引用必须包含程序包名称。 因此,如果您编译执行
javac One.java
java One
class One应该在默认包中(没有package语句)。 如果编译
javac a/b/Two.java
class 2应该放在包ab中。然后,可以使用以下命令执行.class文件a / b / Two.class
java a.b.Two
通过设置环境变量CLASSPATH可以实现其他“效果”,该变量可以被-cp
选项覆盖。 (这可能是您的情况发生的情况-通过运行echo $CLASSPATH
检查。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.