您的位置:首页 > 编程语言 > Java开发

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

2015-06-09 15:56 681 查看
本人在构建数据库分区,分表的时候,由于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文件即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: