限制包含和排除不是通过maven编译器插件发生的

时间:2016-12-09 05:28:52

标签: java maven

我正在使用版本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插件,它是否给出了问题?

1 个答案:

答案 0 :(得分:0)

来自maven-compile-plugin -

的文档
  

编译器插件有两个目标。两者都已经绑定了他们的   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>