我已经设法编译java程序但我无法执行它

Rom*_*man 2 java executable class

我刚刚在Windows Vista上安装了JDK.之后,我为4个环境变量设置了正确的值:classpath,include,lib,path.之后,我能够编译我的HelloWorld程序(我有一个*.class文件).但是当我尝试执行编译的程序(我输入java HelloWorldApp)时,它不起作用.Java写了很多东西,最后写的是"无法找到主类:HelloWorldApp".任何人,请求,帮助我解决这个问题?

Pau*_*and 5

为了清楚起见; 你说你在默认包中有一个类,就是你没有在Java文件中包含一个包说明符,而是调用了你的类HelloWorldApp.编译时,您HelloWorldApp.class在当前目录中获得了一个类文件.

假设上述情况属实,那么试试:

java -cp . HelloWorldApp
Run Code Online (Sandbox Code Playgroud)

例如,以下适用于unix框:

$ echo 'class HelloWorldApp { public static void main(String []argv) { System.out.println("Hello World!"); } }' > HelloWorldApp.java
$ javac HelloWorldApp.java 
$ java -cp . HelloWorldApp 
Hello World!
Run Code Online (Sandbox Code Playgroud)

当然,你应该缩进你的代码,而不是把整个东西推到一条线上;-)

编辑:回答评论:

通常,默认类路径是运行时库和当前目录.但是,如果您CLASSPATH设置了变量,那么这将覆盖默认值,您需要将类路径显式设置回其"默认值".要验证是否CLASSPATH设置了环境变量,您可以执行(再次假设为unix):

set | grep CLASSPATH
Run Code Online (Sandbox Code Playgroud)

如果已设置,那么您需要手动包含.在类路径中.