maven由于thrift中的自动生成文件而重建模块,只能生成更改的文件吗?

时间:2017-04-24 07:04:01

标签: maven build maven-3 maven-plugin thrift

编辑:跳到最后一句以获得正确的相关问题

我正在用这个maven命令构建一个项目:

-am -DskipTests=true -pl myModule install

项目非常大,模块有很多依赖项,由于某些原因,即使它们没有改变,它们也会被重新编译, 我收到很多模块的消息:

[INFO] Changes detected - recompiling the module!

这是我的构建代码:

    <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

我正在使用maven 3.5.0

为什么依赖模块被识别为已更改?

编辑:使用michaldo的建议

我发现了很多Stale源检测到的依赖模块 自动生成的.java文件是从thrift创建的,

现在问题变成:我如何指示maven / thrift,而不是为未更改的thrift源生成.java文件?

1 个答案:

答案 0 :(得分:0)

michaldo的评论解决了我的问题, 在解决了thrift插件中所有不必要的代码生成后,构建速度更快

关键位是将checkStaleness参数添加到配置中:

            <groupId>org.apache.thrift.tools</groupId>
            <artifactId>maven-thrift-plugin</artifactId>
            <configuration>
                <thriftExecutable>${thrift.exe}</thriftExecutable>
                *<checkStaleness>true</checkStaleness>*
            </configuration>