我在win 7的cmd处输入javac helloworld.java
。
C:\Users\User\Downloads\java_tut>javac HelloWorld.java
C:\Users\User\Downloads\java_tut>dir *.class
Directory of C:\Users\User\Downloads\java_tut
03/28/2014 05:42 PM 429 YourClassName.class
C:\Users\User\Downloads\java_tut>
我在以下目录中搜索了helloworld.class: java,jre,jdk,java_tut,jre / bin,jdk / bin,以及我的整个硬盘。
我确实需要手动将/ jdk / bin目录添加到我的路径中。我想知道这是否重要?
答案 0 :(得分:2)
如果HelloWorld.java
编译没有任何错误,那么文件HelloWorld.class
肯定应该在java_tut
目录中。
编辑(根据您的评论和修改):
检查您的Java源文件HelloWorld.java
是否如下所示:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hellow, World!");
}
}
该类必须与Java源文件具有相同的名称,否则您将收到以下编译器错误消息:
[515]% javac HelloWorld.java
HelloWorld.java:1: error: class YourClassName is public, should be declared in a file named YourClassName.java
public class YourClassName {
^
1 error
答案 1 :(得分:2)
另一个可能的原因是空的 .java 源文件。
这会导致 javac 无声地产生任何内容。
我使用Hello Word程序和Macintosh编辑器体验了这种效果 - 使用 Cmd-S 保存,但不使用 Ctrl-S 保存。经过20年的Java编程,我学到了这一点。
答案 2 :(得分:1)
虽然我询问了包装声明,但我可以告诉你正确的方法:
假设你有一个带有该源的Java类:
package my.test;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World.");
}
}
假设您的项目根目录是
C:\项目\ java_tut
您必须将源文件HelloWorld.java
放入目录
C:\项目\ java_tut \我\测试
然后使用以下命令在java_tut
目录中编译并启动这个小程序:
C:\Projects\java_tut> javac my/test/HelloWorld.java
C:\Projects\java_tut> dir my\test
[...]
28.03.2014 09:35 <DIR> .
28.03.2014 09:35 <DIR> ..
28.03.2014 09:35 434 HelloWorld.class
28.03.2014 09:34 134 HelloWorld.java
[...]
C:\Projects\java_tut> java my.test.HelloWorld
Hello World.
说明:如果使用包(并且你总是应该为你的类使用包),你一定不能&#34;坐着&#34;在该包中,但始终从包(文件夹)外部运行命令。
答案 3 :(得分:0)
YourClassName.class
是正确的文件。类名不是基于.java文件的名称生成的。它是根据.java文件中的类名生成的。在我的.java文件中,我将类命名为YourClassName
而不是HelloWorld
。