精华内容
下载资源
问答
  • maven打包指定jdk版本

    2019-09-30 12:05:25
    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> ...
    <plugin>  
        <groupId>org.apache.maven.plugins</groupId>  
        <artifactId>maven-compiler-plugin</artifactId>  
        <version>3.1</version>  
        <configuration>  
            <verbose>true</verbose>  
            <fork>true</fork>  
            <executable>${JAVA8_HOME}/bin/javac</executable>  
        </configuration>  
    </plugin>  

     

    转载于:https://www.cnblogs.com/yangxianyu/p/8145249.html

    展开全文
  • eclipse和idea设置maven项目编译打包jdk版本 1.背景 对于MAVEN项目,打包成不同jdk版本,针对性比较强 打包插件:maven-shade-plugin 打包jdk版本 1.8打成1.6 maven发布历史及对应jdk版本要求 ...

    eclipse和idea设置maven项目指定jdk版本打包编译

    1.背景

    对于MAVEN项目,打包成不同jdk版本,针对性比较强
    打包插件:maven-shade-plugin
    打包jdk版本 1.8打成1.6

    maven发布历史及对应jdk版本要求

    maven发布历史及对应jdk版本要求
    在这里插入图片描述

    maven历史版本下载网址

    maven历史版本下载
    官网网址 https://archive.apache.org/dist/maven/maven-3/
    1、在项目的pom文件中加入如下配置
    jdk版本后续在更新

    1、pom文件设置

    	<build>
            <finalName>are_mi_sdk-1.0-SNAPSHOT</finalName>
            <plugins>
                <plugin>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.4.3</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                            <configuration>
                                <transformers>
                                    <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
                                </transformers>
                                <filters>
                                    <filter>
                                        <artifact>*:*</artifact>
                                        <excludes>
                                            <exclude>META-INF/*.SF</exclude>
                                            <exclude>META-INF/*.DSA</exclude>
                                            <exclude>META-INF/*.RSA</exclude>
                                        </excludes>
                                    </filter>
                                </filters>
    
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    

    注:
    finalName 自定义打包名
    打包后会有两个包,一个带依赖包,一个不带依赖包,根据大小判定。
    注意项目编码

    	<properties>
         <!-- 文件拷贝时的编码 -->
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <!-- 编译时的编码 -->
         <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
     </properties>
    

    2.idea设置

    。jdk1.8设置
    	maven设置
    

    在这里插入图片描述

    在这里插入图片描述

    jdk设置,如果在maven/conf/setting.xml文件配置jdk版本,可省略此步骤
    在这里插入图片描述

    上述地方改成maven3.2.5以下和jdk1.6

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.eclipse

    。jdk1.8设置改为jdk1.6
    

    Window > Preferences > maven在这里插入图片描述在这里插入图片描述

    右键项目 > Preferences
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • maven打包不同jdk版本的包

    万次阅读 2015-02-01 22:29:54
    原文地址:... ...指定修改jdk默认版本 修改{M2_HOME}/conf/settings.xml来指定默认的jdk。   Xml代码  profiles>   profile>   id>jdk-1.6id> 

    原文地址:http://blueram.iteye.com/blog/1611372




    指定修改jdk默认版本

    修改{M2_HOME}/conf/settings.xml来指定默认的jdk。

     

    Xml代码  收藏代码
    1. <profiles>    
    2.        <profile>      
    3.             <id>jdk-1.6</id>      
    4.             <activation>      
    5.                 <activeByDefault>true</activeByDefault>      
    6.                 <jdk>1.6</jdk>      
    7.             </activation>      
    8.             <properties>      
    9.                 <maven.compiler.source>1.6</maven.compiler.source>      
    10.                 <maven.compiler.target>1.6</maven.compiler.target>      
    11.                 <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>      
    12.             </properties>      
    13.     </profile>     
    14.  </profiles>    

      通常在一些特别情况下,我们需要为单独某一个构件打包多个不同jdk版本的包,用来支持不同的jdk,基于maven我们就可以很方便的做到这点。

    1、在项目的pom文件中加入如下配置

     

    Xml代码  收藏代码
    1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
    3.   <modelVersion>4.0.0</modelVersion>  
    4.   <groupId>cc.mzone</groupId>  
    5.   <artifactId>blog</artifactId>  
    6.   <packaging>jar</packaging>  
    7.   <version>0.1</version>  
    8.   <url>http://www.mzone.cc</url>  
    9.   <build>  
    10.     <plugins>  
    11.       <plugin>  
    12.         <artifactId>maven-compiler-plugin</artifactId>  
    13.         <version>2.0.2</version>  
    14.         <configuration>  
    15.           <source>${jar.source}</source>  
    16.           <target>${jar.target}</target>  
    17.           <encoding>UTF-8</encoding>  
    18.         </configuration>  
    19.       </plugin>  
    20.     </plugins>  
    21.   </build>  
    22.   <dependencies>  
    23.     <!-- 这里省略依赖 -->  
    24.   </dependencies>  
    25.   <properties>  
    26.     <!-- 这里省略属性 -->  
    27.   </properties>  
    28.   <profiles>  
    29.     <profile>  
    30.       <id>default</id>  
    31.       <activation>  
    32.         <activeByDefault>true</activeByDefault>  
    33.       </activation>  
    34.       <properties>  
    35.         <jar.source>1.6</jar.source>  
    36.         <jar.target>1.6</jar.target>  
    37.       </properties>  
    38.     </profile>  
    39.     <profile>  
    40.       <id>jdk15</id>  
    41.       <build>  
    42.         <plugins>  
    43.           <plugin>  
    44.             <artifactId>maven-jar-plugin</artifactId>  
    45.             <executions>  
    46.               <execution>  
    47.                 <phase>package</phase>  
    48.                 <goals>  
    49.                   <goal>jar</goal>  
    50.                 </goals>  
    51.                 <configuration>  
    52.                   <classifier>jdk15</classifier>  
    53.                 </configuration>  
    54.               </execution>  
    55.             </executions>  
    56.           </plugin>  
    57.         </plugins>  
    58.       </build>  
    59.       <properties>  
    60.         <jar.source>1.5</jar.source>  
    61.         <jar.target>1.5</jar.target>  
    62.       </properties>  
    63.     </profile>  
    64.   </profiles>  
    65. </project>  

     2、然后执行命令打包

    1. Java代码  收藏代码
      1. # mvn clean jar  
      2.    
      3. # mvn clean jar -P jdk15  
      第一条命令打包使用默认的profile,编译的版本是1.6,生成的文件是blog-0.1.jar;而第二条命令打包指定使用jdk15这个profile,编译版本是1.5,生成的文件是blog-0.1-jdk15.jar。
    2. 3、项目中引用

          对于项目中的引用,可以使用如下依赖写法:

      Xml代码  收藏代码
      1. <!-- 引用1.6编译版本 -->  
      2. <dependency>  
      3.   <groupId>cc.mzone</groupId>  
      4.   <artifactId>blog</artifactId>  
      5.   <version>0.1</version>  
      6. </dependency>  
      7.    
      8. <!-- 引用1.5编译版本 -->  
      9. <dependency>  
      10.   <groupId>cc.mzone</groupId>  
      11.   <artifactId>blog</artifactId>  
      12.   <version>0.1</version>  
      13.   <classifier>jdk15</classifier>  
      14. </dependency>  
        

       总结分析,为了达到对同一个构件使用不同的编译版本,我们综合使用了maven中的profile、classifier技术,按照我这里给出的例子,做法可以归纳为以下几点:

      1、在项目的pom文件中定义多个profile,每个profile规定一个编译版本;

      2、在profile中指定插件maven-jar-plugin的classifier配置,这个是指定筛选器的名称,即最后要附加在jar包名称后面的,比如这里的jdk15;

      3、打包时指定不同的profile打包不同的版本,通过-P参数指定profile进行编译打包;

      4、在其他项目中使用该构件时通过配置classifier属性来筛选不同的版本;


    指定修改jdk默认版本

    修改{M2_HOME}/conf/settings.xml来指定默认的jdk。

     

    Xml代码  收藏代码
    1. <profiles>    
    2.        <profile>      
    3.             <id>jdk-1.6</id>      
    4.             <activation>      
    5.                 <activeByDefault>true</activeByDefault>      
    6.                 <jdk>1.6</jdk>      
    7.             </activation>      
    8.             <properties>      
    9.                 <maven.compiler.source>1.6</maven.compiler.source>      
    10.                 <maven.compiler.target>1.6</maven.compiler.target>      
    11.                 <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>      
    12.             </properties>      
    13.     </profile>     
    14.  </profiles>    

      通常在一些特别情况下,我们需要为单独某一个构件打包多个不同jdk版本的包,用来支持不同的jdk,基于maven我们就可以很方便的做到这点。

    1、在项目的pom文件中加入如下配置

     

    Xml代码  收藏代码
    1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    2.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  
    3.   <modelVersion>4.0.0</modelVersion>  
    4.   <groupId>cc.mzone</groupId>  
    5.   <artifactId>blog</artifactId>  
    6.   <packaging>jar</packaging>  
    7.   <version>0.1</version>  
    8.   <url>http://www.mzone.cc</url>  
    9.   <build>  
    10.     <plugins>  
    11.       <plugin>  
    12.         <artifactId>maven-compiler-plugin</artifactId>  
    13.         <version>2.0.2</version>  
    14.         <configuration>  
    15.           <source>${jar.source}</source>  
    16.           <target>${jar.target}</target>  
    17.           <encoding>UTF-8</encoding>  
    18.         </configuration>  
    19.       </plugin>  
    20.     </plugins>  
    21.   </build>  
    22.   <dependencies>  
    23.     <!-- 这里省略依赖 -->  
    24.   </dependencies>  
    25.   <properties>  
    26.     <!-- 这里省略属性 -->  
    27.   </properties>  
    28.   <profiles>  
    29.     <profile>  
    30.       <id>default</id>  
    31.       <activation>  
    32.         <activeByDefault>true</activeByDefault>  
    33.       </activation>  
    34.       <properties>  
    35.         <jar.source>1.6</jar.source>  
    36.         <jar.target>1.6</jar.target>  
    37.       </properties>  
    38.     </profile>  
    39.     <profile>  
    40.       <id>jdk15</id>  
    41.       <build>  
    42.         <plugins>  
    43.           <plugin>  
    44.             <artifactId>maven-jar-plugin</artifactId>  
    45.             <executions>  
    46.               <execution>  
    47.                 <phase>package</phase>  
    48.                 <goals>  
    49.                   <goal>jar</goal>  
    50.                 </goals>  
    51.                 <configuration>  
    52.                   <classifier>jdk15</classifier>  
    53.                 </configuration>  
    54.               </execution>  
    55.             </executions>  
    56.           </plugin>  
    57.         </plugins>  
    58.       </build>  
    59.       <properties>  
    60.         <jar.source>1.5</jar.source>  
    61.         <jar.target>1.5</jar.target>  
    62.       </properties>  
    63.     </profile>  
    64.   </profiles>  
    65. </project>  

     2、然后执行命令打包

    1. Java代码  收藏代码
      1. # mvn clean jar  
      2.    
      3. # mvn clean jar -P jdk15  
      第一条命令打包使用默认的profile,编译的版本是1.6,生成的文件是blog-0.1.jar;而第二条命令打包指定使用jdk15这个profile,编译版本是1.5,生成的文件是blog-0.1-jdk15.jar。
    2. 3、项目中引用

          对于项目中的引用,可以使用如下依赖写法:

      Xml代码  收藏代码
      1. <!-- 引用1.6编译版本 -->  
      2. <dependency>  
      3.   <groupId>cc.mzone</groupId>  
      4.   <artifactId>blog</artifactId>  
      5.   <version>0.1</version>  
      6. </dependency>  
      7.    
      8. <!-- 引用1.5编译版本 -->  
      9. <dependency>  
      10.   <groupId>cc.mzone</groupId>  
      11.   <artifactId>blog</artifactId>  
      12.   <version>0.1</version>  
      13.   <classifier>jdk15</classifier>  
      14. </dependency>  
        

       总结分析,为了达到对同一个构件使用不同的编译版本,我们综合使用了maven中的profile、classifier技术,按照我这里给出的例子,做法可以归纳为以下几点:

      1、在项目的pom文件中定义多个profile,每个profile规定一个编译版本;

      2、在profile中指定插件maven-jar-plugin的classifier配置,这个是指定筛选器的名称,即最后要附加在jar包名称后面的,比如这里的jdk15;

      3、打包时指定不同的profile打包不同的版本,通过-P参数指定profile进行编译打包;

      4、在其他项目中使用该构件时通过配置classifier属性来筛选不同的版本;

    展开全文
  • 当系统中装有多个 JDK 版本时,如果控制 Maven 能够指定到正确的版本 更多精彩 更多技术博客,请移步 IT人才终生实训与职业进阶平台 - 实训在线 出现的问题 在使用 mvn clean package -Dmaven.test.skip=true 对...

    当系统中装有多个 JDK 版本时,如果控制 Maven 能够指定到正确的版本

    更多精彩

    出现的问题

    1. 在使用 mvn clean package -Dmaven.test.skip=true 对项目进行打包时
    2. 发现进度一直卡在编译无法继续执行
    3. 待编译项目 pom.xml 中指定的 JDK 版本是 1.8
    4. 通过 mvn -version 发现 Maven 获取的 JDK 版本是 11
    5. 这就是导致 Maven 无法顺利编译项目的根本原因

    查看当前 Maven 版本

    1. 下图中可以看到,Maven 当前指定的是 JDK 11
      image

    查看当前 JDK 版本

    1. 下图中可以看到,当前 JDK 版本是 1.8 ,很明显和上图 Maven 获取到的版本不一致
      image

    查看当前系统配置的所有 JDK 版本

    1. 下图中可以看到,当前系统配置了三个版本的 JDK ,而系统默认的是 JDK 11 ,与 Maven 获取到的一致
      image

    查看通过 JENV 管理的 JDK 版本

    1. 下图中可以看到,通过 JENV 切换到的 JDK 版本是 1.8 ,与 java -version 获取到的一致
    2. 这就说明 JENV 虽然可以管理当前 JDK 版本,但是无法切换当前系统的默认 JDK
      image

    终极解决方案

    1. 在终端输入以下脚本,强制指定 JAVA_HOME 的默认版本是 1.8
      • 这样虽然无法改变当前系统的默认 JDK 版本
      • 但是可以控制其他软件获取到的 JDK 版本,这就已经满足需求了
    echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.8)" >> ~/.bash_profile
    source ~/.bash_profile
    

    再次查看当前 Maven 版本

    1. 下图中可以看到,Maven 当前指定的 JDK 已经替换成了 1.8
      image

    再次查看当前系统配置的所有 JDK 版本

    1. 下图中可以看到,当前系统默认的 JDK 版本依旧是 11
      image
    展开全文
  • maven 指定jdk版本打包

    千次阅读 2018-06-04 10:57:00
    在中指定jdk1.7 <id>jdk-1.7 <activeByDefault>true <jdk>1.7</jdk> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler....
  • Maven打包指定JDK版本

    千次阅读 2011-07-19 20:09:58
    用到了maven的compiler插件,只要在pom文件里引入该插件即可 maven-compiler-plugin 2.3.2 1.6 1.6 UTF-8
  • 1、指定jdk版本maven-jar-plugin 2.3.1 default-jar package com/** jar org.apache.maven.plugins maven-compiler-plugin 2.3.2 GBK 1.6 1.6 true ...
  • 解决办法一:在项目中的pom.xml指定jdk版本,如下: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <art...
  • 指定修改jdk默认版本 修改{M2_HOME}/conf/settings.xml来指定默认的jdk。   &lt;profiles&gt; &lt;profile&gt; &lt;id&gt;jdk-1.6&lt;/id&gt; &lt;activation&...
  • maven项目打包报错, 出现不支持1.8新特性的情况, 在pom文件中指定jdk版本打包   &lt;properties&gt;  &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&...
  • <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</ar...
  • 直接上POM.xml文件代码: build> plugins> plugin> artifactId>maven-assembly-pluginartifactId> configuration> archive> manifest>
  • 最近使用maven install命令来打包项目时,出现了:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project server-api: Compilation failure: ...
  • maven-compiler-plugin 指定JDK版本和编码

    千次阅读 2017-03-08 10:00:26
    最近使用maven install命令来打包项目时,出现了: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project server-api: Compilation failure:...
  • <properties> <!-- 声明一个 java.version 的变量,后面直接引用就可以,改起来...-- 指定项目编码 --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </pr.
  • 有时候,我们将写好的...这个时候我们就可以在 pom.xml 的 plugins 中指定1.8的jdk版本。 然后顺便记录一下,平时用到的其他 pom 的插件。分别是打包跳过测试,打包源码,指定utf8编码 <properties> &l
  • 起因 今天被安排部署测试环境,使用maven...解决方法是:看上面用的maven插件打包,本人解决办法是强制在pom.xml里面指定jdk编译环境,如果有其它解决方法请告知下谢谢 <plugin> <groupId>org.apache.m...
  • Maven 打包

    2016-08-24 10:17:04
    提出问题:  使用maven打包非常的方便,那么如何进行war和jar的打包呢? 解决方案:  一、打war包 ...指定jdk版本: &lt;!-- 指定编译器1.6;原因是行里WAS只支持JDK1.6 --&gt; &lt;pl...
  • 使用maven install命令打包项目时,出现以下报错: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project server-api: Compilation failure:...
  • 问题:maven 打包jar 提示 -source 7 或更高版本以启用try-with-resources解决办法:指定Maven的版本,并且指定Maven使用的jdk版本在pom.xml中修改在properties节点下添加java.version配置。即:&lt;properties&...
  • MVC项目打包报错: 错误: -source 1.3 中不支持注释 但是编译通过。...指定maven打包jdk版本: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId...
  • maven打包插件

    2018-04-23 11:47:00
    maven-compiler-plugin:编译插件,可指定资源jdk版本,前提是当前代码使用的jdk版本 大于或等于 source maven-assembly-plugin:组装插件,这个插件功能很多,可以直接生成可执行jar,这里仅用来抽取依赖jar中的资源...
  • maven打包注意点

    2019-05-24 11:01:08
    指定jdk版本 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plug...
  • 有的时候因为jdk版本的原因,我们在打包的时候会遇到报错,例如: 我这边推荐使用命令处理: mvn clean package -Dmaven.javadoc.skip=true 注:如果不想使用命令,可以在pom.xml文件配置plugin。 3.跳过测试...

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

maven打包指定jdk版本