我正在使用版本3.6.0的maven编译器插件,在此我们只想编译特定文件夹中的一个文件,同时编译该位置中的所有其他文件。
例如:在文件夹应用程序中有14个文件,从中我只想要编译1个文件,但它编译所有文件,如果我想要排除,那么它也无法正常工作。
<sourceDirectory>${basedir}/../src/java</sourceDirectory>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<includes>
<include>app/lable.java</include>
</includes>
<excludes>
<exclude>app/test.java</exclude>
</excludes>
</configuration>
<execution>
<id>someId</id>
<goals>
<goal>compile</goal>
</goals>
<phase>compile</phase>
</execution>
</executions>
</plugin>
在这个我们正在使用wls maven插件,它是否给出了问题?
答案 0 :(得分:0)
编译器插件有两个目标。两者都已经绑定了他们的 Maven生命周期中的适当阶段,因此, 在各自的阶段自动执行。
编译器:编译绑定到编译阶段并用于编译 主要的源文件。
编译器:testCompile 绑定到 测试编译阶段,用于编译测试源文件。
因此,如果您使用以下命令,则应生成特定目标 -
mvn compiler:compile
另一种坚持mvn clean install
的方法是将你的配置移动到一个定义为 -
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<includes>
<include>app/lable.java</include>
</includes>
<excludes>
<exclude>app/test.java</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>someId</id>
<goals>
<goal>compile</goal>
</goals>
<phase>compile</phase>
</execution>
</executions>
</plugin>