java - 在 Maven 中,只编译选定的文件

  显示原文与译文双语对照的内容
0 0

我想仅编译选定源目录中文件或目录( 包括子目录) 。 我非常确定我可以这样使用 <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:Projectstesttargetclasses

但是不使用编译器的配置我有:

[INFO] Compiling 14 source file to c:Projectstesttargetclasses

在这两种情况下但是,所有14类编译到 target/classes正如我所说。 你能解释或建议的另一个解决方案只编译所选文件?

时间:原作者:8个回答

0 0

包含3 个简单的应用程序类。

com/company/Obj1.java
com/company/Obj2.java
com/company/inner/Obj3.java  

buildpom.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 类被编译。
并且包含的任意组合工作好吧
或者你的意思是什么?

原作者:
0 0

我没有什么困难包括或排除文件进行编译与Maven编译器插件 2.5.1. Here 是虚拟项目我用的意向。 也许 include模式所使用的不同。

原作者:
0 0

使用AntMaven编译器插件像inclusion/exclusion表示法。 中可以看到示例Ant文档 Ant FileSet Type

如果你希望只包括文件从一个目录,需要一样,应该这样写:

<include>com/example/dao/bean/*.java</include>

中还包含子目录路径,它将是:

<include>com/example/dao/bean/**/*.java</include>
原作者:
...