如何在不使用任何软件的情况下通过命令行执行大型编译的Java项目(Windows)?

时间:2016-10-07 21:24:45

标签: java eclipse windows maven command-line

我有一个包含5个包和30个类的Java项目。我想在另一台计算机上测试这个项目,但是我不能在那台计算机上安装任何软件,所以我不能使用像Maven,Eclipse等那样的东西。有没有办法可以在那台计算机上执行程序?

我尝试做的是在我的计算机上使用Eclipse编译项目,然后转到另一台计算机并尝试通过主类.class文件所在的文件夹执行项目主类。
I.E.,请说包Hello中的主要班级名称为Greetings,而Hello.class位于名为folder的文件夹中。所以我在folder打开了命令行窗口并输入了命令:

java Greetings.Hello

那不起作用....
编辑:执行此操作后,我收到了消息:Error: Could not find or load main class Greetings.Hello

3 个答案:

答案 0 :(得分:1)

如果包名是Greetings并且您想运行Hello.class

  1. Hello类必须有main方法。
  2. Hello.class必须在文件夹名称Greetings(包名称)。
  3. 问候文件夹

    上方的某个级别执行java Greetings.Hello

    在我看来,Hello.class不在 Greetings 文件夹

答案 1 :(得分:0)

如果系统上安装了javac,您可以直接在系统上进行编译。您可以编译包括许多软件包在内的大型项目,并选择javac提供的不同选项。

javac工具读取用Java编程语言编写的类和接口定义,并将它们编译为字节码类文件。它还可以处理Java源文件和类中的注释。

有两种方法可以将源代码文件名传递给javac:

对于少量源文件,只需在命令行中列出文件名即可。 对于大量源文件,请在文件中列出文件名,以空格或换行符分隔。然后在javac命令行上使用列表文件名,前面加上@字符。 源代码文件名必须具有.java后缀,类文件名必须具有.class后缀,源文件和类文件都必须具有标识该类的根名称。例如,一个名为MyClass的类将写在一个名为MyClass.java的源文件中,并编译成一个名为MyClass.class的字节码类文件。

内部类定义会生成其他类文件。这些类文件具有组合内部和外部类名的名称,例如MyClass $ MyInnerClass.class。

您应该将源文件排列在反映其包树的目录树中。例如,如果将所有源文件保存在C:\ workspace中,则com.mysoft.mypack.MyClass的源代码应位于C:\ workspace \ com \ mysoft \ mypack \ MyClass.java中。

默认情况下,编译器将每个类文件放在与其源文件相同的目录中。您可以使用-d source

指定单独的目标目录

答案 2 :(得分:0)

鉴于你有Eclipse并且你在Eclipse中运行代码:最快的方法是使用Eclipse并将其导出到可执行的JAR。

如果您有用于运行代码的运行配置(例如名为Hello):

  1. 菜单 - >出口 - > Runnable JAR文件
  2. 启动配置:您好
  3. 选择导出目的地:(例如C:\ tmp \ Hello.jar)
  4. 将提取所需的库设置为生成的JAR
  5. 点击完成。
  6. 这将创建Hello.jar文件,您可以执行输入:     java -jar Hello.jar