一个Maven工程中,不同的模块需要不同的JDK进行编译的解决方案

本人在构建数据库分区,分表的时候,由于jdbc3(jdk1.5中实现)和jdbc4(jdk1.6后实现)两个规范上存在相当大的差异,导致无论采用哪个jdk进行编译,都会导致整个pom树无法正确构建,总有一个要出问题。

说实际的这个问题卡了比较长的时候,最后还是研究maven编译插件,才真正解决。

解决的办法就是,在主Pom中定义下面的编译插件:


?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
< build >
     [...]
     < plugins >
       < plugin >
         < groupId >org.apache.maven.plugins</ groupId >
         < artifactId >maven-compiler-plugin</ artifactId >
         < version >3.1</ version >
         < configuration >
           < verbose >true</ verbose >
           < fork >true</ fork >
           < executable >${JDK1.5JAVAC}</ executable >
           < compilerVersion >1.5</ compilerVersion >
         </ configuration >
       </ plugin >
     </ plugins >
     [...]
   </ build >



在dbclusterjdbc4中添加下面的编译插件:



?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
< build >
     [...]
     < plugins >
       < plugin >
         < groupId >org.apache.maven.plugins</ groupId >
         < artifactId >maven-compiler-plugin</ artifactId >
         < version >3.1</ version >
         < configuration >
           < verbose >true</ verbose >
           < fork >true</ fork >
           < executable >${JDK1.6JAVAC}</ executable >
           < compilerVersion >1.6</ compilerVersion >
         </ configuration >
       </ plugin >
     </ plugins >
     [...]
   </ build >
然后在settings.xml中定义JDK1.5JAVAC  和JDK1.6JAVAC变量,指向两个jdk的javac文件即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值