Ubuntu20.04下如何用Maven3.8.4+Java17安装Java6旧项目
在Ubuntu 20.04上兼容Java 6旧项目的Maven安装方案
1. 安装Java 6 JDK
Ubuntu 20.04默认源不含Java 6,需手动部署:
- 下载OpenJDK 6的Linux x64压缩包(如
openjdk-6u45-linux-x64.tar.gz),解压到系统JVM目录:sudo mkdir -p /usr/lib/jvm/ sudo tar xzf openjdk-6u45-linux-x64.tar.gz -C /usr/lib/jvm/ - 可选:配置环境变量方便调用
echo 'export JAVA_6_HOME=/usr/lib/jvm/jdk1.6.0_45' >> ~/.bashrc source ~/.bashrc
2. 配置Maven Toolchains
通过Toolchains实现不同项目用不同JDK,无需全局切换:
- 在
~/.m2/目录创建toolchains.xml:<?xml version="1.0" encoding="UTF-8"?> <toolchains> <toolchain> <type>jdk</type> <provides> <version>1.6</version> <vendor>sun</vendor> </provides> <configuration> <jdkHome>/usr/lib/jvm/jdk1.6.0_45</jdkHome> </configuration> </toolchain> <toolchain> <type>jdk</type> <provides> <version>17</version> <vendor>openjdk</vendor> </provides> <configuration> <jdkHome>/usr/lib/jvm/java-17-openjdk-amd64</jdkHome> </configuration> </toolchain> </toolchains> - 注意替换
jdkHome路径为你实际的Java 6、Java 17安装目录。
3. 适配旧项目编译配置
如果可以修改旧项目pom.xml,添加编译器插件并绑定Toolchain:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.6</source> <target>1.6</target> <toolchain> <type>jdk</type> <provides> <version>1.6</version> </provides> </toolchain> </configuration> </plugin> </plugins> </build>
若无法修改旧项目pom,编译时用命令行指定Toolchain:
mvn clean install -Dmaven.toolchain.type=jdk -Dmaven.toolchain.provides.version=1.6
4. 将旧项目安装到本地仓库
进入旧项目根目录,执行安装命令:
mvn clean install
(若用命令行指定Toolchain,就用上面带参数的命令)
安装完成后,旧项目Jar包会存入~/.m2/repository,新项目可直接通过groupId/artifactId/version引入依赖。
5. 新项目依赖注意事项
新项目用Java 17编译运行完全兼容,Java本身向下兼容Java 6代码(除非旧项目使用了Java 17彻底移除的废弃API,这种情况极少)。若遇类加载问题,检查新项目pom.xml是否正确引入旧项目依赖,确保版本匹配。
内容的提问来源于stack exchange,提问作者Arzybek
相关产品推荐
相关产品推荐

