一个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文件即可。

相关文章
|
Java 应用服务中间件 Apache
Maven程序 tomcat插件安装与web工程启动
Maven程序 tomcat插件安装与web工程启动
512 0
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
1228 2
|
Java Maven
Maven编译报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile 解决方案
在执行Maven项目中的`install`命令时,遇到编译插件版本不匹配的错误。具体报错为:`maven-compiler-plugin:3.13.0`要求Maven版本至少为3.6.3。解决方案是将Maven版本升级到3.6.3或降低插件版本。本文详细介绍了如何下载、解压并配置Maven 3.6.3,包括环境变量设置和IDEA中的Maven配置,确保项目顺利编译。
17873 5
Maven编译报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile 解决方案
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
1410 1
|
Java 关系型数据库 开发工具
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
本文提供了解决方案,如何在IDEA中创建Spring 2.X版本的项目并使用JDK8,尽管Spring 2.X已停止维护且IDEA不再直接支持,通过修改pom.xml或使用阿里云的国内源来创建项目。
3016 0
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
1736 0
|
Java 编译器
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
379 1
|
安全 Java API
JDK版本特性问题之在aone编译机器上未安装相应的jdk导致发布编译报错,如何解决
JDK版本特性问题之在aone编译机器上未安装相应的jdk导致发布编译报错,如何解决
|
Java Maven
maven 工程pom依赖优化及常用命令
maven 工程pom依赖优化及常用命令
553 0

推荐镜像

更多