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

时间:2017-02-23 03:11:13

标签: java package command-prompt keyword

我是一名中级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;

包括在哪一行?

2 个答案:

答案 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环境变量中。