Maven 固定 jdk 版本 将依赖包都打进 jar 包教程

很简单,pom 中加入这两个插件即可,第一个插件指定要编译的 jdk 版本、编码等信息,第二个插件 mainClass 中填入 jar 启动类的全限定类名。

    <build>
        <plugins>
            <!-- 强制 maven 以 jdk8 编译 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- 打包时包将所有依赖打进去 -->
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>Main</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>

对于第一个插件,其它设置有

<plugin>
    <!-- 指定 maven 编译的 jdk 版本, 如果不指定,maven3 默认用 jdk 1.5 maven2 默认用 jdk1.3 -->
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <!-- 一般而言,target 与 source 是保持一致的,但是,有时候为了让程序能在其他版本的 jdk 中运行 (对于低版本目标 jdk,源代码中不能使用低版本 jdk 中不支持的语法),会存在 target 不同于 source 的情况 -->
        <source>1.8</source> <!-- 源代码使用的 JDK 版本 -->
        <target>1.8</target> <!-- 需要生成的目标 class 文件的编译版本 -->
        <encoding>UTF-8</encoding><!-- 字符集编码 -->
        <skipTests>true</skipTests><!-- 跳过测试 -->
        <verbose>true</verbose>
        <showWarnings>true</showWarnings>
        <fork>true</fork><!-- 要使 compilerVersion 标签生效,还需要将 fork 设为 true,用于明确表示编译版本配置的可用 -->
        <executable><!-- path-to-javac --></executable><!-- 使用指定的 javac 命令,例如:<executable>${JAVA_1_4_HOME}/bin/javac</executable> -->
        <compilerVersion>1.3</compilerVersion><!-- 指定插件将使用的编译器的版本 -->
        <meminitial>128m</meminitial><!-- 编译器使用的初始内存 -->
        <maxmem>512m</maxmem><!-- 编译器使用的最大内存 -->
        <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar
        </compilerArgument><!-- 这个选项用来传递编译器自身不包含但是却支持的参数选项 -->
    </configuration>
</plugin>

第二个插件执行打包,点击 idea 右侧 Maven -> 项目名 -> Plugins-> assembly -> assembly:assembly 执行即可,如图:

Maven 固定 jdk 版本 将依赖包都打进 jar 包教程

手机扫描二维码访问

本文标题:《Maven 固定 jdk 版本 将依赖包都打进 jar 包教程》作者:极四维博客
原文链接:https://cway.top/post/840.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年10月    »
123456
78910111213
14151617181920
21222324252627
28293031

搜索

控制面板

您好,欢迎到访网站!
  查看权限

最新留言

文章归档

  • 订阅本站的 RSS 2.0 新闻聚合