maven、springboot项目编译打包本地jar、第三方jar包

0. 引言

一般我们在maven项目中都是通过引入pom坐标的形式来引入第三方jar包,但某些场景下,第三方是直接提供的jar包文件,这就需要我们从本地引入第三方包并进行打包。所以我们今天来看下如何进行本地引入第三方包操作

1. 步骤

1、在项目下创建lib文件夹,或者其他文件夹,将第三方包放入该文件夹下
maven、springboot项目编译打包本地jar、第三方jar包_第1张图片

2、IDEA中执行快捷键F4,或手动进入Project Settings,在Libraries中点击添加jar包,选择我们刚刚引入的jar包
maven、springboot项目编译打包本地jar、第三方jar包_第2张图片

3、修改pom文件,指定第三方jar包文件,
这里注意要添加 true 配置,这样才会在打包时加载本地的jar,否则会出现本地运行没问题,但编译打包出来就会报错找不到类

同时注意把中的调整成false, 否则引入的包不会一起打包出来

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <version>3.8.1version>
                <configuration>
                    <source>1.8source>
                    <target>1.8target>
                    <encoding>UTF-8encoding>
                    
                    <compilerArguments>
                        <extdirs>${project.basedir}/src/main/webapp/WEB-INF/libextdirs>
                    compilerArguments>
                configuration>
            plugin>
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-war-pluginartifactId>
                <configuration>
                    <webResources>
                        <resource>
                            
                            <directory>src/main/webapp/WEB-INF/lib/directory>
                            
                            <targetPath>WEB-INF/libtargetPath>
                            <includes>
                                <include>**/*.jarinclude>
                            includes>
                        resource>
                    webResources>
                configuration>
            plugin>
            <plugin>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-maven-pluginartifactId>
                <version>${spring-boot.version}version>
                <configuration>
                    <mainClass>com.example.security_demo.SecurityDemoApplicationmainClass>
                    <skip>falseskip>
                    
                    <includeSystemScope> true includeSystemScope>

                configuration>

                <executions>
                    <execution>
                        <id>repackageid>
                        <goals>
                            <goal>repackagegoal>
                        goals>
                    execution>
                executions>
            plugin>
        plugins>
    build>

4、pom里添加刚刚引入的jar包,这里的systemPath路径就选择jar包所在的路径

 <dependency>
            <groupId>com.cdp.productgroupId>
            <artifactId>cdp-common-securityartifactId>
            <version>11.0.0-SNAPSHOTversion>
            <scope>systemscope>
            <systemPath>${pom.basedir}/lib/cdp-common-security-java.jarsystemPath>
dependency>

5、选择编译打包
maven、springboot项目编译打包本地jar、第三方jar包_第3张图片

6、查看打包出来的jar包,只要不是几十K的大小,这种10M+的,说明第三方包已经包含进去了
maven、springboot项目编译打包本地jar、第三方jar包_第4张图片

7、项目正常启动
maven、springboot项目编译打包本地jar、第三方jar包_第5张图片
8、调用测试接口也正常(这里test接口的作用是将入参做加密输出)
maven、springboot项目编译打包本地jar、第三方jar包_第6张图片

2. 总结

如上,我们就完成了本地引入第三方jar并实现编译打包的操作。如果你打包出来的文件运行有误,仔细检查下配置与我上述的是否一致

你可能感兴趣的:(java进阶之路,maven,spring,boot,jar)