通常在一些特别情况下,我们需要为单独某一个构件打包多个不同jdk版本的包,用来支持不同的jdk,基于maven我们就可以很方便的做到这点。
1、在项目的pom文件中加入如下配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cc.mzone</groupId>
<artifactId>blog</artifactId>
<packaging>jar</packaging>
<version>0.1</version>
<url>http://www.mzone.cc</url>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>${jar.source}</source>
<target>${jar.target}</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- 这里省略依赖 -->
</dependencies>
<properties>
<!-- 这里省略属性 -->
</properties>
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<jar.source>1.6</jar.source>
<jar.target>1.6</jar.target>
</properties>
</profile>
<profile>
<id>jdk15</id>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>jdk15</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<jar.source>1.5</jar.source>
<jar.target>1.5</jar.target>
</properties>
</profile>
</profiles>
</project>
2、然后执行命令打包
# mvn clean jar
# mvn clean jar -P jdk15
第一条命令打包使用默认的profile,编译的版本是1.6,生成的文件是blog-0.1.jar;而第二条命令打包指定使用jdk15这个profile,编译版本是1.5,生成的文件是blog-0.1-jdk15.jar。
3、项目中引用
对于项目中的引用,可以使用如下依赖写法:
<!-- 引用1.6编译版本 -->
<dependency>
<groupId>cc.mzone</groupId>
<artifactId>blog</artifactId>
<version>0.1</version>
</dependency>
<!-- 引用1.5编译版本 -->
<dependency>
<groupId>cc.mzone</groupId>
<artifactId>blog</artifactId>
<version>0.1</version>
<classifier>jdk15</classifier>
</dependency>
总结分析,为了达到对同一个构件使用不同的编译版本,我们综合使用了maven中的profile、classifier技术,按照我这里给出的例子,做法可以归纳为以下几点:
1、在项目的pom文件中定义多个profile,每个profile规定一个编译版本;
2、在profile中指定插件maven-jar-plugin的classifier配置,这个是指定筛选器的名称,即最后要附加在jar包名称后面的,比如这里的jdk15;
3、打包时指定不同的profile打包不同的版本,通过-P参数指定profile进行编译打包;
4、在其他项目中使用该构件时通过配置classifier属性来筛选不同的版本;
技术因需要而改变,自己备份下,也希望对大家有帮助。
分享到:
相关推荐
在安装JDK 8时,通常需要下载适合操作系统的安装文件,然后按照安装向导进行操作,包括选择安装路径、设置环境变量JAVA_HOME,以及确保PATH变量包含%JAVA_HOME%\bin,以便在命令行中能够直接运行Java相关命令。...
Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,广泛应用于 Java 项目的构建、测试和打包。然而,在使用 Maven 发布 Jar 包时,ometimes 中文字符会出现乱码问题。本文将详细介绍 Maven...
在本文中,我们将基于maven创建一个web项目,首先我们需要搭建maven环境,包括安装Myeclipse2013、Tomcat8.0、Jdk1.8和apache-maven-3.3.9。然后,我们需要配置jdk和maven的环境变量,包括设置JAVA_HOME和MAVEN_HOME...
它为Eclipse提供了对Maven项目无缝集成的能力,使得开发者在Eclipse环境中可以方便地创建、管理和构建基于Maven的Java项目。m2e不仅简化了Maven项目的导入与配置过程,还提供了自动构建、依赖管理、生命周期映射等...
综合上述知识点,一个基于Maven的Java项目在Linux环境中,通常会涉及到OpenJDK 17的安装与配置,Maven的安装、配置及使用,以及Linux运维的基本操作。理解并熟练掌握这些内容,对于Java开发者和运维人员来说至关重要...
在使用这个版本的Maven时,需要注意的是,它要求至少安装Java Development Kit (JDK) 7 或更高版本。这是因为Maven自身是用Java编写的,需要JDK来运行。JDK 7及以上版本提供了必要的环境,使得Maven可以解析和编译...
1. 安装Java JDK:首先,需要在系统上安装Java的运行环境,这通常包括下载并安装JDK,设置环境变量,确保`java`和`javac`命令可用。 2. 配置Maven:接着,解压Maven的安装包,配置Maven的`conf/settings.xml`文件,...
本文将详细介绍如何搭建基于Maven 3.2.3、Eclipse 4.4(Luna)和 JDK 1.8 的开发环境。 **一、Maven 知识点** 1. **Maven简介** Maven 是一个强大的项目管理工具,由Apache软件基金会开发。它的核心理念是项目...
在安装 Maven 之前,我们需要确保我们的实验环境已经配置好了 Linux 操作系统、Hadoop 2.6.0 或以上版本、Zookeeper 3.4.6 或以上版本、Storm 0.9.6 或以上版本和 JDK 1.6 或以上版本。 安装 Maven 的步骤包括解压...
为了使得基于 Java Swing 的应用能在没有 JDK 或 JRE 的环境中运行,我们需要将其打包成可执行的安装文件,通常是 .exe 格式,以便于Windows用户轻松安装和运行。 这个过程涉及几个关键步骤: 1. **构建可独立运行...
1. **JDK安装**:下载并安装JDK 1.8,设置JAVA_HOME环境变量指向JDK的安装路径。 2. **Maven下载**:从Maven官网获取最新稳定版的Maven,并解压到指定目录。 3. **Maven配置**:修改Maven的配置文件`conf/settings....
5. **支持Java 9**: Maven 3.5.2兼容Java 9,允许开发者在新的JDK环境下使用Maven。 **Maven 的使用流程** 1. **创建项目**: 使用`mvn archetype:generate`命令可以快速创建一个基于模板的新项目。 2. **编辑POM*...
在"springboot-mavenBaseDemo"项目中,我们看到的是一个基于Spring Boot的基础应用,它使用了Java 1.8版本。这意味着该项目遵循了Spring Boot的最低Java版本要求,可以确保在广泛的环境中运行。Spring Boot 1.x版本...
本教程将详细阐述如何在Windows操作系统上搭建一个基于JDK1.8、Maven3.5.4和Tomcat8.5的基础开发环境。 首先,我们从JDK1.8开始。Java Development Kit(JDK)是Java编程语言的软件开发工具包,它包含了编译器、...
### Maven2基础教程知识点详解 #### 一、Maven2简介 Maven2是一个非常流行的Java项目管理和构建工具。它提供了强大的项目管理功能,能够帮助开发者自动化构建过程,包括编译、测试、打包、部署等多个阶段。Maven的...
1. 首先,你需要在Linux系统上安装JDK。解压`jdk-8u201-linux-x64.tar.gz`到合适的目录,然后设置环境变量`JAVA_HOME`指向JDK的安装路径,并将`bin`目录添加到`PATH`,使系统可以找到Java命令。 2. 接着,安装Maven...
在日常开发中,你还可以自定义Maven的配置,比如调整依赖的版本,设置编译源代码的JDK版本,或者创建自己的插件执行特定任务。Maven的可扩展性使其成为Java开发者的得力助手。 总之,Apache Maven 3.9.6为Mac用户...
2. **构建逻辑重用**:Maven2的构建逻辑是基于插件(plug-ins)的,每个插件对应特定的构建任务,如编译、测试、打包等。这允许过程的重复使用,提高效率。 3. **声明式执行**:构建过程完全由POM中的声明控制,...
- 对于Linux用户,通常通过包管理器如`apt-get`或`yum`来安装JDK,然后配置`/etc/environment`或`~/.bashrc`文件以设置环境变量。 2. **Eclipse配置**: - Eclipse是一款强大的Java开发集成环境,需要下载最新...
2. **MyEclipse集成Maven**:MyEclipse是基于Eclipse的一款强大的Java集成开发环境,8.5版本原生集成了Maven支持。但由于原生插件可能存在BUG和稳定性问题,建议用户手动安装更稳定的m2e插件。 3. **卸载MyEclipse...