我只想编译源目录中选定的文件或目录(包括子目录)。我很确定我可以使用 <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/