Springboot项目引用了jar包,和代码一起打包报程序包不存在的错误

本文介绍如何在SpringBoot项目中正确引入外部Jar包,并解决因配置不当导致的打包失败问题。

一般springboot项目打包,就是把这个公共项目先clean,再package。这样在我们的target目录下就生成了一个公共工具类的jar包。

但我创建lib文件夹,在里面引用工具类jar包后,打包就会报错!

通过查询,起初在pom.xml中添加了部分配置,但重新打包还是报一样的错误,尝试如下:

<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/Semanticslib.jar</systemPath>
</dependency>

接着根据查询的资料,没有注释掉上面的配置,而是继续又在pom.xml里加了一处配置就解决了:

<build> 
    <plugins> 
        <plugin> 
            <groupId>org.springframework.boot</groupId> 
            <artifactId>spring-boot-maven-plugin</artifactId> 
            <configuration> 
                <includeSystemScope>true</includeSystemScope> 
            </configuration> 
        </plugin> 
    </plugins> 
</build>

### 如何在特定主机上部署运行Spring Boot项目JAR #### 准备阶段 为了确保能够在特定主机上顺利部署并运行Spring Boot项目JAR,需先完成必要的准备工作。这括但限于确认目标主机的操作系统版本、安装Java环境以及配置相应的环境变量。 对于Java环境的设置,在Linux环境下可以通过编辑`~/.bashrc`或`/etc/profile`文件来设定`JAVA_HOME`等必要路径[^4]: ```shell export JAVA_HOME=/usr/local/software/jdk1.8.0_341 export CLASSPATH=.:$JAVA_HOME/lib export PATH=$JAVA_HOME/bin:$PATH source ~/.bashrc # 或者 source /etc/profile 来使更改生效 ``` #### 构建可执行JAR 构建过程通常是在开发环境中完成,通过Maven或Gradle工具编译源码并打包成独立的应用程序。假设已经拥有一个可以正常工作的Spring Boot应用程序,则可以直接利用内置的任务来进行打包操作。例如,如果采用的是Maven作为构建工具,那么可以在项目根目录下执行以下命令生成JAR文件: ```shell mvn clean package -DskipTests=true ``` 此命令会跳过测试环节以加快打包速度,并最终产出位于`target`文件夹下的`.jar`文件。 #### 部署至远程主机 一旦拥有了上述准备好的JAR文件之后,下一步就是将其传输到预期的目标机器上去。这里推荐使用SCP(Secure Copy Protocol)协议实现安全的数据转移: ```shell scp path/to/your-application.jar user@remote-host:/desired/path/ ``` 这里的`path/to/your-application.jar`代表本地计算机中的JAR文件位置;而`user@remote-host:/desired/path/`则是指定了远端服务器的信息及其存储路径。 #### 启动服务 当JAR文件被成功上传到了指定的位置以后,就可以考虑如何启动这个应用了。最简单的方式就是在终端里直接调用`java -jar your-application.jar`指令开启它。过在此之前建议先切换到放置该文件的工作目录以便简化后续管理维护工作: ```shell cd /desired/path/ nohup java -jar your-application.jar & ``` 此处运用了`nohup`命令配合后台进程符(&),使得即使关闭当前SSH连接也会影响正在运行的服务状态。另外还可以借助日志重定向功能(`> output.log`)记录输出信息方便调试排查问题。 #### 自定义配置项 考虑到同生产环境之间可能存在差异化的参数需求,因此有必要针对实际情况调整一些默认行为。比如修改监听端口号或是激活同的profile模式等等。这些都可以通过对环境变量赋值的方式来达成目的。如前所述,在Dockerfile中有这样的例子说明[^3]: ```dockerfile ENV SPRING_PROFILES_ACTIVE=prod ENV SERVER_PORT=8080 ``` 同样的方法也可以应用于普通的Shell脚本之中,只需提前声明好对应的键值对即可满足个性化定制的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值