我只想编译源目录中选定的文件或目录(包括子目录)。我很确定我可以使用<includes>
的maven-compiler-plugin
的配置来做这件事,但它似乎没有像我预期的那样工作,因为它仍然将所有的类编译成target/classes
。
<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
。您能否解释一下这一点,或者建议另一种解决方案,以便只编译选定的文件?
发布于 2012-06-18 18:47:27
简单的应用程序与3个类。
com/company/Obj1.java
com/company/Obj2.java
com/company/inner/Obj3.java
pom.xml
中的build
<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个类。
任何包含的组合都工作得很好。
或者你指的是别的什么?
发布于 2012-06-21 19:14:13
使用类似Ant的包含/排除符号的maven编译器插件。您可以在Ant文档Ant FileSet Type中查看示例
如果您希望只包含一个目录中文件,则需要像以前那样编写:
<include>com/example/dao/bean/*.java</include>
要同时包含path中的子目录,它将为:
<include>com/example/dao/bean/**/*.java</include>
发布于 2012-06-19 13:10:12
使用maven编译器插件2.5.1
,我可以轻松地包含或排除要编译的文件。Here是我用于此目的的虚拟项目。也许您使用的include
模式是不同的。
https://stackoverflow.com/questions/11051620
复制相似问题