在Intellij中,当我在具有public static void main
方法的类上运行java项目(通过CTRL + SHIFT + F10)时,项目按预期运行。现在,我想在命令行上运行同一个文件/项目。此外,我希望能够更新此文件并重新运行它。
我将Intellij输出的命令复制到控制台,我在终端上卡住了该命令。命令看起来像这样:
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/java -Didea.launcher.port=7532 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14 CE.app/Con
......(这是一个疯狂的长命令)
我们说我的文件是这样的:
public class Main {
public static void main(String...args){System.out.println("hi");}
}
==>输出" hi"当我运行命令时。
虽然此命令在终端上运行正常,但它不会获取文件的任何更新。如果我保存文件,则运行以前的缓存文件。
即。现在让我说我将文件修改为:
public class Main {
public static void main(String...args){System.out.println("GOOD BYE");}
}
==>输出仍然是" hi"。即使我保存文件。
我从主目录运行命令。
如何获取命令来接收我的更改?
如果我再次从intellij运行更新的文件,它会提供与之前相同的命令(除了端口更改之外)。
=============================================== =========================
更新
好吧,看起来这个命令只运行一个.class文件。但我仍然无法看到用于构建.class文件的命令。我该怎么做?
答案 0 :(得分:4)
如果要查看更改,则需要在运行之前重建项目。您可以使用javac
,但我建议您使用maven或gradle等构建工具。
重建项目后,您可以运行最新版本。
您还可以创建一个脚本,该脚本在运行之前首先编译您的程序,就像IntelliJ一样。