在命令提示符下运行的java程序中使用package关键字

在命令提示符下运行的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

我是一名中级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;
包含行?

作为注释,包是类完全限定名的一部分。您可以使用

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。。命令不完全确定这是什么,但似乎是错误的根本原因。那会的。