我是一名中级Java程序员,但我只有使用NetBeans等IDE编写和运行程序的经验。我最近开始在文本编辑器中编写程序,通过Windows 10的命令提示符运行我的程序。
我使用命令提示符成功创建了一个HelloWorld程序,但我对它是如何使用它感到困扰。
最初我的代码是:
package helloworld;
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello, World!");
}
我将此文件保存为目录C:\ projects \ myprojects \ helloworld中的.java文件。
然后我在命令提示符中输入以下命令:
cd C:\projects\myprojects\helloworld
set path=%path%;C:\Program Files\Java\jkd1.8.0_121\bin
javac HelloWorld.java
java -cp . helloworld.HelloWorld
导致错误:
错误:无法找到或加载主类HelloWorld
但是,一旦我重新编译了省略第一行的代码
package.helloworld;
程序按预期运行。
为什么命令提示符在第一行出现时无法找到我的班级。我试图将目录更改为C:\ projects \ myprojects,但也失败了。如何使用
成功编写程序package helloworld;
包括在哪一行?
答案 0 :(得分:1)
作为Elliott answered注释,包是类完全限定名称的一部分。您可以使用
进行测试System.out.println(this.getClass().getCanonicalName());
打印当前的班级名称,包括。
要回答您的问题,您必须执行以下任一操作:
1- cd ..
然后java -cp . helloworld.HelloWorld
或
2- java helloworld\HelloWorld
可能希望将this称为java -cp
详细示例。
答案 1 :(得分:0)
要从命令提示符运行作为包的一部分的任何类,您当前的目录需要是项目的基本目录。
然后,您可以使用他们的引用,即完全限定的类名(FQCN)来引用该项目中的所有类。
例如。
如果我有一个类:
location - C:\ myProj \ org \ myproj \ ExampleClass.java
FQCN - org.myproj.ExampleClass。
我会做以下事情:
cd C:\myproj
javac org\myproj\ExampleClass.java
java -cp . org.myproj.ExampleClass
这假设java bin文件夹已经添加到Path环境变量中。