代码之家  ›  专栏  ›  技术社区  ›  vico

从命令行运行java类

  •  -1
  • vico  · 技术社区  · 3 年前

    我有java类文件 main1.class ,输入哪个代码 main1.java :

    package m;
    
    public class main1 {
         
        public static void main(String[] args) 
        {
        System.out.println("*** start ***");    
        }
    }
    

    试图逃跑

    尝试1:

    java -cp . main1
    

    出现错误:

    Error: Could not find or load main class main1
    Caused by: java.lang.NoClassDefFoundError: m/main1 (wrong name: main1)
    

    尝试2:

    java -cp . m.main1
    

    出现错误:

    Error: Could not find or load main class m.main1
    Caused by: java.lang.ClassNotFoundException: m.main1
    
    0 回复  |  直到 3 年前
        1
  •  1
  •   justanotherguy    3 年前

    Java 11及以上版本,您只需
    java filename.java

    直到Java 11,
    javac filename.java
    java filename

        2
  •  0
  •   g00se    3 年前
    javac -d . main1.java
    java -cp . m.main1
    

    (你的消息来源) 在包树中,但在当前目录中)