干净构建Java命令行

干净构建Java命令行,java,command-line,compilation,Java,Command Line,Compilation,我使用命令行编译使用eclipse编写的项目,如下所示 javac file.java 然后运行: java文件(此处为args) 如何运行干净的构建或编译?每当我重新编译时,除非我删除所有.class文件并重新编译,否则更改不会受到影响。请注意,主文件中的类也将调用其他类 谢谢基本上,您应该编译应用程序中的所有Java文件 选择包括: 使用完整的构建系统,如Ant 在Unix设备上,使用类似以下内容: javac `find . -name '*.java'` 假设您没有太多(或者在必要时

我使用命令行编译使用eclipse编写的项目,如下所示

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
      命令的平台上工作。