java - 在 Maven 中仅编译选定的文件

标签 java maven

我只想编译源目录中选定的文件或目录(包括子目录)。我很确定我可以使用 <includes> 来做到这一点的 maven-compiler-plugin的配置,但它似乎不像我预期的那样工作,因为它仍然将所有类编译成 target/classes .真正奇怪的是,Maven 输出表明该设置确实有效,因为:

  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.5.1</version>
    <configuration>
      <includes>
        <include>com/example/dao/bean/*.java</include>
      </includes>
    </configuration>
  </plugin>

我有:

[INFO] Compiling 1 source file to c:\Projects\test\target\classes

但我没有编译器的配置:

[INFO] Compiling 14 source file to c:\Projects\test\target\classes

然而,在这两种情况下,所有 14 个类都被编译成 target/classes如我所说。您能否解释一下或建议另一种仅编译选定文件的解决方案?

最佳答案

具有 3 个类的简单应用。

com/company/Obj1.java
com/company/Obj2.java
com/company/inner/Obj3.java  

build in pom.xml

<build>
         <plugins>
            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>2.0.2</version>
               <configuration>
                  <source>1.6</source>
                  <target>1.6</target>
                  <includes>
                     <include>com/company/inner/*.java</include>
                  </includes>
               </configuration>
            </plugin>
          </plugins>

   </build>  

结果:编译了 1 个类。
并且包含的​​任何组合都运行良好
还是你的意思是别的?

关于java - 在 Maven 中仅编译选定的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11051620/

相关文章:

JavaVM Windows 7 64 位 - JFileChooser() 不显示对话框

java - PDF人群 'Missing artifact'

java - 跟踪注解是如何工作的——针对注解执行的代码?

java - 如何让 war 使用与应用程序容器不同的 jar 版本?

java - 当整个 Maven 项目在 junit 测试下运行时,logger.info 抛出空指针异常

spring - GWT + Spring DATA、JPA 配置

java - 正交相机和舞台

java - java中的广义线性混合效应模型

java - Spring boot REST API 缺少 URI 模板变量

java - 如何从String库名称获取jar库名称和版本?