问题描述
最近尝试引入阿里云的短信验证码,阿里云的core sdk是maven就有的,但是短信相关的jar包却不是放在maven的,所以得引入本地的下载回来的jar包。本地开发直接引入,idea是可以直接跑调用是没问题的。但是打成jar包部署的时候,项目能跑,但是到关键的调用短信sdk的时候就爆ClassNofFoundException错误。看了很多网上的帖子,很多都说用plugin 中resource来弄,对我的项目一点鸟用也没有。最后还是在stackoverflow上找到了答案,所以做了以下总结。
解决
如何引入本地jar包
1.在resources下面新建lib文件夹,并把jar包文件放到这个目录下
2.在pom文件定义几个依赖指向刚才引入的文件
<dependency>
<groupId>com.aliyun.alicom</groupId>
<artifactId>alicom-mns-receive-sdk</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/alicom-mns-receive-sdk-1.0.0.jar</systemPath>
</dependency>
<dependency>
<groupId>com.aliyun.mns</groupId>
<artifactId>aliyun-sdk-mns</artifactId>
<version>1.1.8</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/aliyun-sdk-mns-1.1.8.jar</systemPath>
</dependency>
注意:重点是systemPath这个路径必须得是你jar的路径。其他的按照套路填就行,要求不是太严格。${project.basedir}只是一个系统自己的常量,不用管它
如何把项目打成jar,同时把本地jar包也引入进去
直接在maven的pom里给springboot的打包插件引入一下参数就行
<includeSystemScope>true</includeSystemScope>
总体是这样的
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
转载于:https://my.oschina.net/u/3346425/blog/3021340
分享到:
相关推荐
通过以上步骤,我们可以轻松地将自定义的或第三方的Jar包安装到本地Maven仓库,并在Spring Boot项目中使用它们。这种方式不仅简化了项目的构建流程,还提高了开发效率。希望本文能帮助大家更好地理解和掌握Spring ...
在本文中,我们将深入探讨如何使用Spring Boot和Maven来构建一个项目,使得依赖和配置文件被打包到jar包外部,以实现更加灵活的项目管理。这个方法对于那些需要根据不同环境进行定制配置或者频繁更新配置的应用来说...
总之,"springboot工程jar包加密"是一个关于保护Java应用安全的重要主题,通过使用工具如xjar,我们可以有效地加密jar包,防止源代码泄露,确保应用在生产环境中的安全运行。在实际操作中,应结合项目需求和安全策略...
通过以上步骤,你可以成功地将多个Spring Boot项目打包成一个jar,并理解其中涉及的核心概念和技术。希望提供的源代码能帮助你更好地理解和实践这个过程。在开发过程中,遇到问题时,查阅Spring Boot和构建工具的...
本资源"Springboot项目正确打jar包maven版pom.rar"是针对SpringBoot项目使用Maven打包成可执行JAR文件的配置示例。 在SpringBoot项目中,我们通常使用Maven作为构建工具,因为它提供了强大的依赖管理和构建生命周期...
在本文中,我们将深入探讨如何使用Nginx部署Spring Boot应用程序,特别关注jar包的部署。首先,让我们从创建和上传jar包开始。 1. **创建jar包**: 使用Maven作为构建工具,你可以通过运行`mvn clean install`命令...
在本案例中,我们关注的是非 Maven 构建的 SpringBoot jar 包,这意味着项目可能是通过 Gradle 或者手动构建的。 1. **非 Maven 构建** Maven 是一种流行的 Java 项目管理工具,用于构建、依赖管理和项目信息管理...
SpringBoot项目通常默认打包为可独立运行的jar文件,但有时我们需要将其打包成war文件,以便部署到外部的Tomcat服务器。以下是如何将SpringBoot项目从jar格式转换为war格式的详细步骤: 1. **修改pom.xml文件打包...
项目代码互不影响,借助Jenkins这样的构建工具在构建Springboot时触发前端构建并编写自动化脚本将前端webpack构建好的资源拷贝到Springboot下再进行jar的打包,最后就得到了一个完全包含前后端的Springboot项目。...
在实际项目中,我们往往需要根据不同的部署环境(如开发、测试、生产)创建定制化的打包文件。`maven-assembly-plugin`是Maven的一个插件,用于生成项目的归档文件,如tar.gz或zip,这在分发和部署软件时非常有用。...
标题中的“idea将springboot打包成jar运行包1”指的是使用IntelliJ IDEA这款Java集成开发环境,将基于Spring Boot框架的项目打包成一个可执行的JAR文件,以便于部署和运行。这个过程通常涉及到Maven或者Gradle构建...
在本项目中,Maven帮助我们管理各种依赖,如Spring Boot的starter依赖、MyBatis的相关依赖等,同时也负责编译、测试、打包和部署等构建任务。 4. **项目结构** 一个典型的Spring Boot + MyBatis的Maven项目结构...
在SpringBoot项目中,通常我们会使用Maven或Gradle来构建应用,并将其打包成一个可执行的JAR(Java Archive)文件。然而,标准的SpringBoot JAR包会包含所有依赖项,这使得文件体积较大,不利于分发和存储。为了解决...
Maven拥有清理、编译、测试、打包、验证、集成测试、部署等阶段,通过执行如`mvn clean install`这样的命令,可以完成项目的构建,包括编译源码、运行测试和打包成可执行JAR。 4. Spring Boot starters: Spring ...
标题 "spring 扫描jar maven 打包" 涉及的是在Java开发中,如何使用Spring框架和Maven工具来构建并打包一个项目,其中包含Spring对jar包的扫描以及Maven的打包流程。这里我们将深入探讨这两个关键概念。 1. **...
3. **创建主类**:在Spring Boot项目中,主类是启动应用的入口点,通常包含`@SpringBootApplication`注解。我们需要创建这样一个类,并在其中包含`main`方法来启动Spring Boot应用。 4. **配置运行脚本**:非Maven...
- SpringBoot项目通常使用spring-boot-maven-plugin插件,它提供了如repackage目标,将应用打包成可执行的jar或war。 - 使用spring-boot:start目标可以启动SpringBoot应用,方便在开发过程中快速调试。 7. 依赖...
3. **内嵌式 Web 服务器**: SpringBoot 可以内嵌 Tomcat 或 Jetty 作为应用服务器,这样开发者无需额外打包成 WAR 文件部署,直接运行 JAR 文件就能启动 Web 应用。 4. **JSON 支持**: JSON 是一种轻量级的数据交换...
【标题】"springboot_jsp_maven(war+jar)"是一个综合了Spring Boot、JSP和Maven技术的示例项目,旨在展示如何在Spring Boot框架下开发并部署包含Web界面的应用程序。该项目的独特之处在于它同时支持两种常见的部署...
Spring Boot默认生成的是可执行的JAR包,但有时我们需要将其部署到传统的Web服务器如Tomcat上,这时就需要将Spring Boot项目打包为WAR包。Spring Boot支持通过修改`pom.xml`文件的打包类型(packaging)为`war`来...