本人在构建数据库分区,分表的时候,由于jdbc3(jdk1.5中实现)和jdbc4(jdk1.6后实现)两个规范上存在相当大的差异,导致无论采用哪个jdk进行编译,都会导致整个pom树无法正确构建,总有一个要出问题。
说实际的这个问题卡了比较长的时候,最后还是研究maven编译插件,才真正解决。
解决的办法就是,在主Pom中定义下面的编译插件:
<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>
<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文件即可。