仅编译Maven中的选定文件 [英] Compiling only selected files in Maven
问题描述
我想只编译源目录中的选定文件或目录(包括子目录)。我很确定我可以使用< includes>
的 maven-compiler-plugin
的配置来做到这一点,但是它似乎无法正常工作,因为它仍然将所有类编译成 target / classes
。真正奇怪的是,Maven输出表明该设置实际上是有效的,因为:
I want to compile only selected files or directories (including subdirectories) within source directory. I was pretty sure I can do this using <includes>
of maven-compiler-plugin
's configuration, but it seems to not work as I expect since it still compiles all classes into target/classes
. What is really strange, Maven output suggest that the setting actually does its work, because with:
<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
但没有编译器的配置我有:
but with no compiler's configuration I have:
[INFO] Compiling 14 source file to c:\Projects\test\target\classes
然而,在这两种情况下,所有14个类都被编译我提到的目标/类
。你能解释一下还是建议另一个只编译选定文件的解决方案吗?
In both cases however, all 14 classes are compiled into target/classes
as I mentioned. Can you explain that or suggest another solution to compile only selected files?
推荐答案
3个类的简单应用程序。
Simple app with 3 classes.
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个类。
并且包含的任何组合都在工作好吧?
或者你的意思是别的什么?
result: 1 class is compiled.
And any combination of includes is working well
or you mean something else?
这篇关于仅编译Maven中的选定文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!