如何使用包名运行java类

gez*_*nta 12 java

我有两个java类如下:

1.

class App1 {
    public static void main(String[] args) {
        System.out.println("App1 hello world...");
    }
}
Run Code Online (Sandbox Code Playgroud)

2.

package java.java.package1;    
class App2 {
    public static void main(String[] args) {
        System.out.println("App2 hello world...");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我编译并运行它们,结果如下:

D:\javaTest>javac App1.java

D:\javaTest>javac App2.java
Run Code Online (Sandbox Code Playgroud)

那么如何运行App2类呢?

Jon*_*eet 22

您应该使用该D:\javaTest\java\java\package1\App1.java选项进行编译,以便类最终位于适当的目录层次结构中:

D:\javaTest>javac java\java\package1\App1.java

D:\javaTest>java java.java.package1.App1
App2 hello world...
Run Code Online (Sandbox Code Playgroud)

此外,您不应该首先使用以名称开头的包名称D:\javaTest.

此外,如果将放在适当的目录层次结构中,并从层次结构的根目录编译/运行,则不会出现此问题.