Maven编译打包本地jar包rt.jar

scope标签的值的种类:

1、compile:默认值,可省略不写。表示该依赖需要参与到项目的编译、测试以及运行周期中,打包时也要包含进去。
2、test:该依赖仅仅参与测试相关的工作,包括测试代码的编译和执行,非测试代码部分不参与编译、运行,不会被打包,例如:junit。
3、runtime:该依赖无需参与项目的编译,项目的测试和运行需要其参与。与compile相比,跳过了编译而已,会被打包进去。例如JDBC驱动,适用运行和测试阶段。
4、provided:事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude(排除)操作,不会被打包。
5、system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径。
6、import:import只能用在dependencyManagement块中,Maven不能多继承,常用来项目既想继承A工程又想继承B工程。如微服务同时继承Spring Boot、Spring Cloud、Spring Cloud Alibaba三个父工程。

Maven引入本地jar包

项目中com.sun.image.codec.jpeg.JPEGCodec用到了rt.jar包,jar包是本地jar包,有2种引入方式,推荐方式一。

方式一:

在 <build>插件中直接引入。

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArguments>
                        <!--如果引用多个jar需要使用;(windows)或者:(macos)来分割,多个平台下开发会很不方便,可以使用变量path.separator代替-->
                        <bootclasspath>${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar</bootclasspath>
                    </compilerArguments>
                </configuration>
            </plugin>

方式二

使用system标签引入本地jar包

        <!--com.sun.image.codec.jpeg.JPEGCodec用到了rt.jar-->
         <dependency>
             <groupId>jdk.rt</groupId>
             <artifactId>jdk.rt</artifactId>
             <version>1.8</version>
             <scope>system</scope>
             <systemPath>${java.home}/lib/rt.jar</systemPath>
             <!--<systemPath>${basedir}/webapp/WEB-INF/lib/rt.jar</systemPath>-->
         </dependency>

<fork>true</fork>表示它将创建(fork)一个新的JVM来运行编译器。这有点慢,但隔离效果更好。

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgs>
                        <arg>-XDignore.symbol.file</arg>
                    </compilerArgs>
                    <fork>true</fork>
                </configuration>
            </plugin>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值