美文网首页
【SpringBoot】项目引入jar包

【SpringBoot】项目引入jar包

作者: 如雨随行2020 | 来源:发表于2022-01-29 00:14 被阅读0次

在项目过程中,有时候需要引入本地的jar包(比如企业自己的jar包或者修改过的源码包)。有两种方法可以使用

一、本地maven库

把jar包打到本地maven库,然后在pom文件中加上依赖

把jar和pom文件打到maven库的命令

mvn org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=path-to-your-artifact-jar -DpomFile=path-to-pom

打到本地库后,加入依赖;groupId和artifactId指向本地maven库地址

        <dependency>
            <groupId>com.ikw.ems</groupId>
            <artifactId>utils.entrybuilder</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/EMSCommon-1.0.jar</systemPath>
        </dependency>

二、把jar包编入工程

如果只是在idea中运行,那么可以把jar拷贝到resources/lib下(要在SourceRoot下),然后在idea中右键lib文件夹,选择最下面的Add as Lirary...然后可以调用jar包中的接口了。
但是如果你此时打包的话,编译时,会报classNotFound(找不到类/程序)异常,是因为你的jar包没有在classpath中,这里需要把你的jar包所在的目录加到的编译classpath中

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/src/main/resources/lib</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>

现在终于可以编译通过打包成jar包了,但是运行却发现还是报classNotFound异常,原因是springboot默认库的位置是/BOOT-INF/lib,而resources目录(SourceRoot)都被压到/BOOT-INF/classes下了,我们还要把jar包压到/BOOT-INF/lib中去

        <resources>
            <resource>
                <directory>src/main/resources/lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>dems_util.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

resources是build的子标签,和plugins同级

相关文章

网友评论

      本文标题:【SpringBoot】项目引入jar包

      本文链接:https://www.haomeiwen.com/subject/eweraltx.html