Maven和Java多版本模块
生活随笔
收集整理的這篇文章主要介紹了
Maven和Java多版本模块
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
介紹
通常,項(xiàng)目具有最低Java版本要求,并且適用于其所有模塊。 但是每條規(guī)則都有其例外,最近我偶然發(fā)現(xiàn)了以下問(wèn)題。
我的一個(gè)開(kāi)源項(xiàng)目對(duì)大多數(shù)模塊要求使用Java 1.6,除了一個(gè)要求1.7版本的項(xiàng)目。
當(dāng)集成具有與您自己的項(xiàng)目不同的Java要求的外部庫(kù)時(shí),會(huì)發(fā)生這種情況。
因?yàn)樵撃K集成了DBCP2框架(至少支持Java 1.7),所以我需要指示Maven使用兩個(gè)不同的Java編譯器。
環(huán)境變量
我們需要定義以下環(huán)境變量
| JAVA_HOME_6 | C:\ Program Files \ Java \ jdk1.6.0_38 |
| JAVA_HOME_7 | C:\ Program Files \ Java \ jdk1.7.0_25 |
| JAVA_HOME | %JAVA_HOME_6% |
父
父pom.xml定義了全局Java版本設(shè)置
<properties><jdk.version>6</jdk.version><jdk>${env.JAVA_HOME_6}</jdk> </properties>我們需要指示編譯器和測(cè)試插件使用配置的Java版本。
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${jdk.version}</source><target>${jdk.version}</target><showDeprecation>true</showDeprecation><showWarnings>true</showWarnings><executable>${jdk}/bin/javac</executable><fork>true</fork></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><jvm>${jdk}/bin/java</jvm><forkMode>once</forkMode></configuration></plugin></plugins> </build>特定模塊
這些模塊需要不同的Java版本,只需要覆蓋默認(rèn)設(shè)置即可:
<properties><jdk.version>7</jdk.version><jdk>${env.JAVA_HOME_7}</jdk> </properties>就是這樣,我們現(xiàn)在可以使用其特定的最低Java版本要求構(gòu)建每個(gè)模塊。
翻譯自: https://www.javacodegeeks.com/2014/04/maven-and-java-multi-version-modules.html
總結(jié)
以上是生活随笔為你收集整理的Maven和Java多版本模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 威海查询房屋备案合同在哪里查(威海查询房
- 下一篇: 如何不使用Java 8默认方法