在命令提示符下运行的java程序中使用package关键字
我是一名中级Java程序员,但我只有使用NetBeans等IDE编写和运行程序的经验。我最近开始在文本编辑器中编写程序,通过Windows 10的命令提示符运行程序 我使用命令提示符成功地创建了一个HelloWorld程序,但我对如何使它工作感到困扰 最初我的代码是:在命令提示符下运行的java程序中使用package关键字,java,package,command-prompt,keyword,Java,Package,Command Prompt,Keyword,我是一名中级Java程序员,但我只有使用NetBeans等IDE编写和运行程序的经验。我最近开始在文本编辑器中编写程序,通过Windows 10的命令提示符运行程序 我使用命令提示符成功地创建了一个HelloWorld程序,但我对如何使它工作感到困扰 最初我的代码是: package helloworld; public class HelloWorld{ public static void main(String[] args){ System.out.printl
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;
包含行?作为注释,包是类完全限定名的一部分。您可以使用
System.out.println(this.getClass().getCanonicalName());
打印当前类名(包括包)
然而,要回答您的问题,您必须执行以下任一操作:1-
cd..
然后java-cp。helloworld.helloworld
或
2-
java helloworld\helloworld
可能希望将其称为
java-cp
详细示例。要从命令提示符运行作为包一部分的任何类,您的当前目录必须是项目的基本目录
然后,您可以使用其引用(即完全限定类名(FQCN))引用该项目中的所有类
例如如果我有一个与以下内容相关的课程: 位置-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环境变量中。包是类完全限定名的一部分。编译后,
cd..
和java-cp。helloworld。helloworld
缺少cd。。命令不完全确定这是什么,但似乎是错误的根本原因。那会的。