java - 在 IntelliJ 中每次 git pull 后生成的源根消失了

标签 java git maven intellij-idea

我正在处理的众多模块之一使用“生成源”来表示其余代码所依赖的几个自动生成的 Java 类。不幸的是,每次我执行 git pull 它都会被重置,我必须再次将该文件夹标记为“Generated Sources Root”。

Generated Sources Root

这不是一个交易破坏者,但它真的很烦人。没有办法使它自动化吗?我不知道,IntelliJ 中的一些设置或者甚至直接在 pom.xml 中?

最佳答案

你可以试试build-helper-maven-plugin并明确地向您的项目添加更多源目录:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>${project.build.directory}/generated-sources/...</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

还有一个小技巧 - 实际的源代码生成必须在这个目标执行之前发生。

在我们的项目中,IDEA 使用这种方法效果很好。

关于java - 在 IntelliJ 中每次 git pull 后生成的源根消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61797420/

相关文章:

git - 使用 Git Bash 显示当前目录中的文件?

java - 获取并运行 Rome

java - 带有@SpringBootConfiguration 的 Spring Boot 多模块应用程序

java - 为什么我无法在扩展类中创建与内部类同名的对象

java - 获取 java.util.List 的泛型类型

java - Android POST 请求未收到响应

git - 在 master 之前恢复与旧分支的 merge

linux -/bin/sh :/user/bin/cc Permission denied

maven - 如何在父镜像命令之前运行子Docker镜像命令

java - 为什么连接 JMS 服务的 java 代码无法编译?