如何在Windows命令行中运行这个Java类?

5
package com.test01;

public class test01 {
    public static void main(String[] args)
    {
        System.out.println("hi");
    }
}

我认为Java应用程序启动器非常愚蠢。 我指出了test01.class的位置:
java -cp . test01(.class)
但这并不起作用。它很难使用。


1
-cp参数必须指向包含“com”文件夹的目录…… 因此,以下命令有效: java -cp ./bin/(包含com) com.test01.test01 - lovespring
2个回答

20

你需要运行

java com.test01.test01

但是使用与包同名的类是一种非常糟糕的想法(同时也不遵循Java命名规范)。

您需要在类路径上运行相应的类。例如,您可以像这样编译它(从源代码树的“根”目录):

javac -d . [path to source file]
java com.test01.test01

或者如果您已经适当地组织了源代码:

javac com\test01\test01.java
java com.test01.test01

好的,既然你已经包含了编译部分,我就删除了我的回答以避免重复。 - Erich Kitzmueller
如果我有一个lib文件夹和out文件夹怎么办? - Kieveli
1
@Kieveli:不太清楚你的意思。我建议你提出一个新的、详细的问题。 - Jon Skeet

3

您应该切换到以类开始的基本目录

java -cp $CLASSPATH:.: com.test01.test01

但是将一个类命名为"test01"不是一个好的命名规范。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接