如何从控制台运行已编译的java项目,而不是从IntelliJ运行

时间:2015-05-01 08:42:19

标签: java intellij-idea

在编译演示项目之后,out> production> testPrj> apidemo中有许多.class文件。基本上,每个文件都有一个.class文件

我希望进入控制台:

  

java apidemo.class

但它不起作用。

我试过" java apidemo.class"。错误消息是"错误:无法找到或加载主类apidemo"。

我也读过这个post。这对我的情况不起作用。我的编译成功,它可以从Intellj运行,但我不知道如何从控制台运行它。如何从控制台运行已编译的java项目?

enter image description here

3 个答案:

答案 0 :(得分:3)

要从控制台运行,您必须做一些事情:

  • 确保您的班级apidemo.ApiDemo main() 用于午餐程序。
  • 编译源代码 - 导航到源文件所在的文件夹(已由Intellij编译):
      

    javac ApiDemo.java

  •   
  • 运行扩展名为.class的已编译文件,提供 完整班级名称 (带包):

      

    java apidemo.ApiDemo

答案 1 :(得分:2)

您需要提供具有包名称的类的完全限定名称,而不是包含“.class”。因此,您需要将自己置于ApiDemo.class所在的父目录中 - 即out> production> testPrj。

然后执行:

$ java apidemo.ApiDemo

另一种方法是提供“out / production / testPrj”作为类路径:

$ java -cp /path/to/out/production/testPrj apidemo.ApiDemo

答案 2 :(得分:1)

如果班级在一个包裹中:

package mypackagename;

public class MyClassName {
  public static final void main(String[] cmdLineParams)  {
  } 
}

您需要使用:

java -classpath . MyClassName

注意“。” 必须使用其完全限定名称调用它:

java -classpath . mypackagename.MyClassName