SpringBoot 引用仓库中没有 第三方包 - 将jar 包安装本地 maven

命令如下:

mvn install:install-file -Dfile="D:\Projects\lib\com.ibm.mq-7.0.1.3.jar" -DgroupId=com.ibm -DartifactId=com.ibm.mq -Dversion=7.0.1.3 -Dpackaging=jar

 POM.XML

<dependency>
    <groupId>com.ibm</groupId>
    <artifactId>com.ibm.mq</artifactId>
    <version>7.0.1.3</version>
</dependency>

命令说明: 

命令 说明
-DgroupId=自定义groupId 设置groupId 名
-DartifactId=自定义artifactId 设置该包artifactId名
-Dversion=自定义版本1.0.0 设置版本号
-Dpackaging=jar 设置该包的类型,有如下值:pom、jar、war、maven-plugin。但是一般常用的是jar类型
-Dfile=文件路径 设置该jar包文件所在的路径与文件名

示例:

java wav 转 mp3 需要用到第三方 jar 包 jave-1.0.2.jar

maven 添加引用不行,需要直接导入

<!-- https://mvnrepository.com/artifact/it.sauronsoftware/jave -->
<dependency>
    <groupId>it.sauronsoftware</groupId>
    <artifactId>jave</artifactId>
    <version>1.0.2</version>
</dependency>

直接将java包放到 resource 下,

        <dependency>
            <groupId>com.convert</groupId>
            <artifactId>java-1.0.2</artifactId>
            <version>${sauronsoftware.version}</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/extlib/jave-1.0.2.jar</systemPath>
        </dependency>

intellij 运行没问题。打包发布后,不能运行,报 NoClassDefFoundError

java.lang.NoClassDefFoundError: it/sauronsoftware/jave/EncoderException
        at java.lang.Class.getDeclaredConstructors0(Native Method)

 


 解决方案:将jar 包安装到 maven下,注意 jave-1.0.2.jar 不是 java-1.0.2.jar 名字启得牛

$ mvn install:install-file -Dfile=d:\Java\jave-1.0.2.jar -DgroupId=it.sauronsoftware -DartifactId=jave -Dversion=1.0.2 -Dpackaging=jar

 

 

<dependency>
    <groupId>it.sauronsoftware</groupId>
    <artifactId>jave</artifactId>
    <version>1.0.2</version>
</dependency>

 

再次 java -jar xxx 启动成功


 

posted @ 2020-08-28 14:19  VipSoft  阅读(584)  评论(0编辑  收藏  举报