【问题标题】:How to create a new classes for each compilation using maven plugin如何使用 maven 插件为每个编译创建一个新类
【发布时间】:2013-12-24 09:08:14
【问题描述】:

对于我的项目,我需要在每次编译后创建新类。对于编译,我使用的是 maven 编译器插件 3.1。我尝试使用 compilerReuseStrategy = alwaysNew 选项,但它没有产生任何影响,它总是只编译更改的类。这是 pom.xml 中的插件声明:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
            <compilerReuseStrategy>alwaysNew</compilerReuseStrategy>
    </configuration>
</plugin>

我做错了什么或者这是一个错误,这个选项真的不起作用?

【问题讨论】:

标签: java maven maven-plugin


【解决方案1】:

如果您谈论的是 maven-compiler-plugin 的增量功能,您可以通过 following configuration 更改此行为:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <useIncrementalCompilation>false</useIncrementalCompilation>
    </configuration>
</plugin>

矛盾的compileReuseStrategy 旨在定义与编译器的多线程运行相关的行为。

【讨论】:

  • 谢谢,但是使用 useIncrementalCompilation 它仍然不会重新编译整个项目。
  • 不编译整个项目是什么意思?哪个项目。你能显示显示行为的完整 pom 文件(或代码的最佳示例)吗?
【解决方案2】:

使用mvn clean install怎么样?

【讨论】:

  • 是的,它会起作用,但是每次更改某些代码时我都必须这样做。用起来很不方便,如果能用自己的IDE编译项目就更好了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-03
  • 2020-12-03
  • 1970-01-01
  • 2014-06-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多