如何仅使用 `mvn clean install` 编译项目而不必随后 运行 `mvn install`?
How to compile project with only `mvn clean install` without having to subsequently run `mvn install`?
我正在尝试编译同时使用 Mapstruct
和 Immutables
的项目。解决我的问题的唯一方法是 运行:
mvn clean compile
-> 编译失败;找不到从 Immutables
生成的 类
mvn compile
-> 成功
这对我来说是不能接受的。
我已经尝试了您可以在代码部分看到的推荐解决方案。
我也看过:
- https://github.com/mapstruct/mapstruct/issues/1596
- https://github.com/mapstruct/mapstruct/issues/1270
...
<mapstruct.version>1.3.0.Beta2</mapstruct.version>
<immutables.version>2.7.3</immutables.version>
...
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>${mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</dependency>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.immutables</groupId>
<artifactId>value</artifactId>
<version>${immutables.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
我只想 运行 mvn clean compile
才能编译项目。
在构建问题的最小示例几个小时后,我注意到这一行恰好是构建失败的原因:
@Mapper(imports = {ImmutableFirstType.class, ImmutableSecondType.class}) // this one
public interface FirstSecondTypeMapper {
我认为 imports
是使 Immutables
和 mapstruct
工作所必需的。刚刚使用 @Mapper
一切正常。
我正在尝试编译同时使用 Mapstruct
和 Immutables
的项目。解决我的问题的唯一方法是 运行:
mvn clean compile
-> 编译失败;找不到从Immutables
生成的 类
mvn compile
-> 成功
这对我来说是不能接受的。
我已经尝试了您可以在代码部分看到的推荐解决方案。 我也看过:
- https://github.com/mapstruct/mapstruct/issues/1596
- https://github.com/mapstruct/mapstruct/issues/1270
...
<mapstruct.version>1.3.0.Beta2</mapstruct.version>
<immutables.version>2.7.3</immutables.version>
...
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>${mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</dependency>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.immutables</groupId>
<artifactId>value</artifactId>
<version>${immutables.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
我只想 运行 mvn clean compile
才能编译项目。
在构建问题的最小示例几个小时后,我注意到这一行恰好是构建失败的原因:
@Mapper(imports = {ImmutableFirstType.class, ImmutableSecondType.class}) // this one
public interface FirstSecondTypeMapper {
我认为 imports
是使 Immutables
和 mapstruct
工作所必需的。刚刚使用 @Mapper
一切正常。