我有一个项目,其中一个主模块使用pom打包,几个子模块被定义为使用jar打包。我希望它们中的一些可以在JDK7上运行,另一些可以在JDK8上运行(并最终将用于JDK7的依赖项嵌入到JDK8对应项中)。
目标是将子模块发布为独立的jars (例如在Maven Central上)
这个方法正确吗?有缺点吗?
发布于 2015-12-14 14:20:42
您可以使用工具链插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>toolchain</goal>
</goals>
</execution>
</executions>
<configuration>
<toolchains>
<jdk>
<version>${java.min.version}</version>
<vendor>oracle</vendor>
</jdk>
</toolchains>
</configuration>
</plugin>您需要一个工具链文件,该文件配置要使用的工具链:https://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/jdk.html
您还需要在编译器插件等中指定java版本。
发布于 2015-12-14 14:11:13
绝对没有什么反对这样做的。但是,如果您有一个需要使用Java 8进行编译的模块,则需要确保Maven也是用Java 8启动的。
然后,您需要重写每个模块的maven-compiler-plugin配置,并定义正确的Java (<source>和<target>属性)。
之后,您可以在Java 8项目中使用Java 7依赖项,而不会出现任何问题。
https://stackoverflow.com/questions/34268977
复制相似问题