`
xupo
  • 浏览: 214958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于maven2打包不同jdk版本的包

 
阅读更多

转自:http://www.mzone.cc/article/626.html

 

通常在一些特别情况下,我们需要为单独某一个构件打包多个不同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属性来筛选不同的版本;

      分享到:
      评论

      相关推荐

        jdk8、maven3.9安装包

        在安装JDK 8时,通常需要下载适合操作系统的安装文件,然后按照安装向导进行操作,包括选择安装路径、设置环境变量JAVA_HOME,以及确保PATH变量包含%JAVA_HOME%\bin,以便在命令行中能够直接运行Java相关命令。...

        Maven发布Jar包中文乱码解决方法

        Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,广泛应用于 Java 项目的构建、测试和打包。然而,在使用 Maven 发布 Jar 包时,ometimes 中文字符会出现乱码问题。本文将详细介绍 Maven...

        基于maven创建web项目

        在本文中,我们将基于maven创建一个web项目,首先我们需要搭建maven环境,包括安装Myeclipse2013、Tomcat8.0、Jdk1.8和apache-maven-3.3.9。然后,我们需要配置jdk和maven的环境变量,包括设置JAVA_HOME和MAVEN_HOME...

        m2e 适合 eclipse3.X jdk1.6 (maven2eclipse)

        它为Eclipse提供了对Maven项目无缝集成的能力,使得开发者在Eclipse环境中可以方便地创建、管理和构建基于Maven的Java项目。m2e不仅简化了Maven项目的导入与配置过程,还提供了自动构建、依赖管理、生命周期映射等...

        maven java 模板Linux环境 Java open-jdk17

        综合上述知识点,一个基于Maven的Java项目在Linux环境中,通常会涉及到OpenJDK 17的安装与配置,Maven的安装、配置及使用,以及Linux运维的基本操作。理解并熟练掌握这些内容,对于Java开发者和运维人员来说至关重要...

        apache-maven-3.5.2,需要jdk7及以上版本

        在使用这个版本的Maven时,需要注意的是,它要求至少安装Java Development Kit (JDK) 7 或更高版本。这是因为Maven自身是用Java编写的,需要JDK来运行。JDK 7及以上版本提供了必要的环境,使得Maven可以解析和编译...

        java+maven+tomcat+jenkins打包安装.7z

        1. 安装Java JDK:首先,需要在系统上安装Java的运行环境,这通常包括下载并安装JDK,设置环境变量,确保`java`和`javac`命令可用。 2. 配置Maven:接着,解压Maven的安装包,配置Maven的`conf/settings.xml`文件,...

        maven3.2.3+eclipse4.4+JDK1.8环境搭建

        本文将详细介绍如何搭建基于Maven 3.2.3、Eclipse 4.4(Luna)和 JDK 1.8 的开发环境。 **一、Maven 知识点** 1. **Maven简介** Maven 是一个强大的项目管理工具,由Apache软件基金会开发。它的核心理念是项目...

        Storm编程实践(安装Maven-使用Maven编译运行代码-mvn 打包)

        在安装 Maven 之前,我们需要确保我们的实验环境已经配置好了 Linux 操作系统、Hadoop 2.6.0 或以上版本、Zookeeper 3.4.6 或以上版本、Storm 0.9.6 或以上版本和 JDK 1.6 或以上版本。 安装 Maven 的步骤包括解压...

        java+Swing打包成exe可安装文件(可在无jdk环境机器上运行)

        为了使得基于 Java Swing 的应用能在没有 JDK 或 JRE 的环境中运行,我们需要将其打包成可执行的安装文件,通常是 .exe 格式,以便于Windows用户轻松安装和运行。 这个过程涉及几个关键步骤: 1. **构建可独立运行...

        已配置好的maven-jdk1.8版本

        1. **JDK安装**:下载并安装JDK 1.8,设置JAVA_HOME环境变量指向JDK的安装路径。 2. **Maven下载**:从Maven官网获取最新稳定版的Maven,并解压到指定目录。 3. **Maven配置**:修改Maven的配置文件`conf/settings....

        maven 3.5.2 maven 3.5.2 maven 3.5.2

        5. **支持Java 9**: Maven 3.5.2兼容Java 9,允许开发者在新的JDK环境下使用Maven。 **Maven 的使用流程** 1. **创建项目**: 使用`mvn archetype:generate`命令可以快速创建一个基于模板的新项目。 2. **编辑POM*...

        springboot-mavenBaseDemo 内容包含:springboot的maven基础状态,1.8JDK可以直接运行

        在"springboot-mavenBaseDemo"项目中,我们看到的是一个基于Spring Boot的基础应用,它使用了Java 1.8版本。这意味着该项目遵循了Spring Boot的最低Java版本要求,可以确保在广泛的环境中运行。Spring Boot 1.x版本...

        Java环境搭建JDK1.8+MAVEN3.5.4+tomcat8.5

        本教程将详细阐述如何在Windows操作系统上搭建一个基于JDK1.8、Maven3.5.4和Tomcat8.5的基础开发环境。 首先,我们从JDK1.8开始。Java Development Kit(JDK)是Java编程语言的软件开发工具包,它包含了编译器、...

        Maven2_基础教程

        ### Maven2基础教程知识点详解 #### 一、Maven2简介 Maven2是一个非常流行的Java项目管理和构建工具。它提供了强大的项目管理功能,能够帮助开发者自动化构建过程,包括编译、测试、打包、部署等多个阶段。Maven的...

        maven3.5+tomcat8+jdk8

        1. 首先,你需要在Linux系统上安装JDK。解压`jdk-8u201-linux-x64.tar.gz`到合适的目录,然后设置环境变量`JAVA_HOME`指向JDK的安装路径,并将`bin`目录添加到`PATH`,使系统可以找到Java命令。 2. 接着,安装Maven...

        apache-maven-3.9.6版本-内含安装说明-用于Mac系统

        在日常开发中,你还可以自定义Maven的配置,比如调整依赖的版本,设置编译源代码的JDK版本,或者创建自己的插件执行特定任务。Maven的可扩展性使其成为Java开发者的得力助手。 总之,Apache Maven 3.9.6为Mac用户...

        Maven2构建.doc

        2. **构建逻辑重用**:Maven2的构建逻辑是基于插件(plug-ins)的,每个插件对应特定的构建任务,如编译、测试、打包等。这允许过程的重复使用,提高效率。 3. **声明式执行**:构建过程完全由POM中的声明控制,...

        java教程之手把手教你用eclipse新建基于maven构建的spring boot项目.zip

        - 对于Linux用户,通常通过包管理器如`apt-get`或`yum`来安装JDK,然后配置`/etc/environment`或`~/.bashrc`文件以设置环境变量。 2. **Eclipse配置**: - Eclipse是一款强大的Java开发集成环境,需要下载最新...

        Maven安装与MyElipse8.5安装Maven插件

        2. **MyEclipse集成Maven**:MyEclipse是基于Eclipse的一款强大的Java集成开发环境,8.5版本原生集成了Maven支持。但由于原生插件可能存在BUG和稳定性问题,建议用户手动安装更稳定的m2e插件。 3. **卸载MyEclipse...

      Global site tag (gtag.js) - Google Analytics