干净构建Java命令行
我使用命令行编译使用eclipse编写的项目,如下所示干净构建Java命令行,java,command-line,compilation,Java,Command Line,Compilation,我使用命令行编译使用eclipse编写的项目,如下所示 javac file.java 然后运行: java文件(此处为args) 如何运行干净的构建或编译?每当我重新编译时,除非我删除所有.class文件并重新编译,否则更改不会受到影响。请注意,主文件中的类也将调用其他类 谢谢基本上,您应该编译应用程序中的所有Java文件 选择包括: 使用完整的构建系统,如Ant 在Unix设备上,使用类似以下内容: javac `find . -name '*.java'` 假设您没有太多(或者在必要时
javac file.java
然后运行:
java文件(此处为args)
如何运行干净的构建或编译?每当我重新编译时,除非我删除所有.class
文件并重新编译,否则更改不会受到影响。请注意,主文件中的类也将调用其他类
谢谢基本上,您应该编译应用程序中的所有Java文件 选择包括:
- 使用完整的构建系统,如Ant
- 在Unix设备上,使用类似以下内容:
假设您没有太多(或者在必要时使用javac `find . -name '*.java'`
)xargs
- 如果您没有使用软件包(而且您确实应该使用),您可以使用:
javac *.java
- 以下是我的处理方法
rm $(find . -name "*.class")
javac <MainClass>.java
java <MainClass>
rm$(查找.-name“*.class”)
java.java
JAVA
这是一个简单的技巧,可以删除所有以扩展名“.class”结尾的文件。
当您使用javac
编译时,它将再次编译所有文件,而不必担心目录结构
如果您在windows上,您可以使用find的替代选项。如果您已经在eclipse中安装了项目,那么您在命令行手动编译有什么原因吗?eclipse在参数中没有使用文件名。它一直说找不到文件。哦,是的,这就是问题所在。。我正在运行Mac OS X。我使用了上面的代码,但它不起作用。如何编译目录中的所有.java文件?另外,最好使用
-d
命令行选项将所有输出写入目标目录。删除旧内容就像删除目标目录中的所有内容一样简单。如果OP没有使用包,并且所有.java文件都在同一目录中,只需使用javac*.java
。它更简单,而且它的优点是在没有倒勾替换和/或find
命令的平台上工作。