【解决】maven管理工具使用package打包的时候无法将lib文件夹下的第三方jar包打入,上线打jar包后运行异常问题...

简介: 【解决】maven管理工具使用package打包的时候无法将lib文件夹下的第三方jar包打入,上线打jar包后运行异常问题...

问题描述:

调用第三方接口的时候通过手动引入了第三方的两个jar包到我本项目的lib文件夹下,并在pom文件添加入下配置:

<dependency>
  <groupId>cn.xxxx.xxxx.core</groupId>
  <artifactId>xxxx-core</artifactId>
  <version>1.2.7</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/xxxx-core-1.2.7.jar</systemPath>
</dependency>
<dependency>
  <groupId>cn.xx.xx.auth.security</groupId>
  <artifactId>xx-auth-security</artifactId>
  <version>1.1.7</version>
  <scope>system</scope>
  <systemPath>${basedir}/lib/xxxx-auth-security-1.1.7.jar</systemPath>
</dependency>

两个jar包成功引入,本地编译运行一切正常。但正式部署打jar包后运行时却报错,提示引入的两个第三方包的类找不到,上线了这才发现打jar包的时候没有将第三方包打入。

解决办法如下,在plugins下加上下面的配置:

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


相关文章
|
3月前
|
Java Maven
如何用Maven打包
如何用Maven打包
111 0
|
29天前
|
Java Android开发
Android Studio的使用导入第三方Jar包
Android Studio的使用导入第三方Jar包
12 1
|
1月前
|
Java Maven
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
14 0
|
1月前
|
XML Java Maven
深入探讨Maven打包:打造精致的Zip包
本文介绍了如何使用Maven将Spring Boot项目打包并部署。首先,利用Maven Assembly Plugin创建包含JAR的ZIP文件,以便于部署和修改配置文件。该插件允许自定义打包内容和格式。在`package.xml`中定义了打包格式、依赖、脚本和资源文件的规则。接着,在POM.xml中配置插件,排除配置文件和静态资源以保持外部。最后,执行`mvn package`命令生成分发包,简化了项目的部署流程。
92 2
|
1月前
|
Oracle 关系型数据库 Java
Flink CDC产品常见问题之Flink CDC 使用jar包启动异常如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2月前
|
Java 测试技术 Maven
maven的package、install、deploy命令
maven的package、install、deploy命令
|
2月前
|
JSON Java Maven
SpringBoot使用git-commit-id-maven-plugin打包
【2月更文挑战第1天】 git-commit-id-maven-plugin 是一个maven 插件,用来在打包的时候将git-commit 信息打进jar中。 这样做的好处是可以将发布的某版本和对应的代码关联起来,方便查阅和线上项目的维护。至于它的作用,用官方说法,这个功能对于大型分布式项目来说是无价的。
86 0
|
2月前
|
Java Maven
Maven项目模块打包引入
Maven项目模块打包引入
28 0
|
2月前
|
Java 测试技术 Maven
boot项目添加运行参数的maven插件
boot项目添加运行参数的maven插件
32 0
|
2月前
|
Java 测试技术 Maven
单元测试添加运行参数的maven插件
单元测试添加运行参数的maven插件
20 0