当前位置: 首页 > 面试题库 >

仅在Maven中编译选定的文件

丘向荣
2023-03-14
问题内容

我只想编译源目录中的选定文件或目录(包括子目录)。我非常确定可以使用<includes>of 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:\Projects\test\target\classes

但没有编译器的配置,我有:

[INFO] Compiling 14 source file to c:\Projects\test\target\classes

但是在这两种情况下,所有14个类都被编译target/classes为我提到的那样。您能解释一下还是建议另一种仅编译选定文件的解决方案?


问题答案:

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个类被编译。
包含的任何组合都运作良好,
还是您还有其他意思?



 类似资料:
  • 问题内容: 我只是好奇地知道这一点,当我不进行“清理”就安装mvn时,maven仅编译了修改后的java文件。Maven如何识别Java文件是否被修改?我相信它没有使用文件的最后修改属性。 我相信的原因:我有一个模块,在合并了svn的更改后,我进行了mvn install,但它没有编译修改后的文件,当我查看更改时,我发现其中的’long’被修改为’Long’吸气剂和二传手。 所以我只想知道Mave

  • 问题内容: 我试图跟踪此编译错误: 如何在我的Maven编译中找到设置?我使用的是普通香草(据我所知)没有设置任何内容。 问题答案: 这是因为您使用的是普通香草,所以您会遇到此问题。 默认情况下,无论您设置为什么,在编译源代码时都会调用,使用Java 5进行编译: 还要注意,当前的默认源设置是1.5,默认目标设置是1.5,与运行Maven的JDK无关。 要使用其他编译器版本(例如Java 8),可

  • 问题内容: 我是Vaadin框架的新手,我看起来非常有趣,使用eclipse和maven开发和构建应用程序,我感到非常烦人,每次我执行mvn全新安装都将花费很长时间来构建该应用程序,我发现这是因为它编译了整个小部件集。 即使我仅在布局中使用按钮,构建应用程序也会花费很多。 我已经在Internet和2本书上进行了一段时间的研究,但找不到足够的信息以了解如何仅编译我正在使用的组件而不是整个组件。 我

  • 问题内容: 有没有办法查看在* nix中使用了哪些编译器和标志来创建可执行文件?我已经编译了一个旧版本的代码,我想看看它是经过优化还是未经优化而编译的。Google并没有太大的帮助,但是我不确定我使用的关键字是否正确。 问题答案: gcc 为此提供了一个选项: 之后,ELF可执行文件将包含带有该信息的部分。 当然,如果没有该选项编译的可执行文件将无法使用。 对于简单的优化情况,如果文件是使用调试信

  • 由于IntelliJ,我发现需要将以下选项传递给:

  • 我有一个GWT项目,我想搬到Maven。 1) 在使用Maven之前,为了编译GWT,我使用执行。具有此代码的bat文件: /thisFolder是我期望的编译文件目录 由于第二行更改了目录,编译后的文件被创建到这个目录中: 2) 现在我想做同样的事情,但是使用gwt maven插件,所以根据我找到的一些帖子,我对插件配置做了一些更改,以便设置文件输出目录到。。。\此文件夹 但在编译GWT之后,它