Loading

IDEA添加本地jar包并使用maven打包 V2

IDEA添加本地jar包并使用maven打包

之前写过一篇,今天记录另一种更简洁的,如何在IDEA引入了本地jar包的情况下使用maven插件打包

打开Project Structure

选择本地jar包所在目录并确认应用,这里我在当前项目下新建了名为lib的Directory,本地jar包都移到这里面

select lib

完成后就可以看见已经成功引入本地jar包

然后转到Modules

modules

可以看到当前模块的依赖就有了刚刚添加的本地jar包,作用域为Compile

pom.xml配置

打开侧栏ProjectExternal Libraries,可以看到现在项目除了JDK以外并无其他依赖包

打开pom.xml文件

正常的Properties

<properties>
    <java.version>11</java.version>
</properties>

dependencies主要变化

<dependencies>
    <dependency>
        <groupId>lib</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.11</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/lib/commons-lang3-3.11.jar</systemPath>
    </dependency>
</dependencies>

此时External Libraries里也正常引入了

然后是build

<build>
    <finalName>local-jar-dem</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <!-- 本地jar包还需要引入相关的springboot依赖,且版本号不可胜,得显式写出 -->
            <version>2.4.1</version>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <!-- 加上这个配置才能完成打包,不然打出来只有几十K -->
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <!--
                这个配置是指定项目语言等级(解决刷新maven后lambda的支持问题),公司项目使用的Springboot为1.52,最高只支持Java6。
                当然,我这里的演示项目使用的当前最新版的Springboot2.4.1,安装的Java版本为JDK11,所以这个插件配置我这里可以不需要。
            -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>11</source>
                <target>11</target>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

此时就可以愉快地使用maven插件打包了 😃

奇迹再现

顺便一提,如果要使用IDEA Artifacts打包,需要注意的是在选择MANIFEST.MF文件保存位置时不要默认选到xx/src/main/java,这会导致打出来的包丢失主类信息如Main-Class: net.add1s.localjardemo.LocalJarDemoApplication

posted @ 2021-09-13 14:08  mahoshojo  阅读(1277)  评论(0编辑  收藏  举报