我使用的是Intellij,同事正在使用Eclipse。大多数组件依赖的datamodel
项目都包含所有JPA代码。
datamodel
个依赖项之一是utils
。在utils
中有生成的来源。我在Eclipse中的同事,将utils
的目标/生成源添加到构建路径中,所有内容都在Eclipse中构建并运行良好。
在Intellij中,当我转到项目结构时,是否需要转到utils
并将utils
的目标/生成源添加为Source
文件夹以使其等效?
或者我是否需要将该模块添加为依赖项?
编辑: 在utils pom:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<mkdir dir="target/generated-sources" />
<exec executable="protoc">
<arg value="--java_out=target/generated-sources" />
<arg value="src/main/resources/utilities.proto" />
</exec>
</tasks>
<sourceRoot>target/generated-sources</sourceRoot>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
答案 0 :(得分:1)
您可以使用由同事构建的utils
作为依赖项。
但是如果您想要更改utils
的来源,那么您应该通过添加:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>test</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${basedir}/target/generated-sources</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
IntelliJ支持插件,点击generated-sources
后,Source
文件夹将被标记为Reimport
文件夹。
答案 1 :(得分:-1)
这取决于您在本地构建的项目是否实际生成了源。一个实例Intellij自动为我拾取生成的源。如果Intellij没有自动执行,那么您应该手动将其作为源文件夹。
如果您的项目没有生成源,那么您应该将它们添加为依赖项。
因此,在您的情况下,已经在utils dependency / project中做出了决定。 utils dependency / project是生成源还是包含源?