spring boot 项目部署
jar包启动
不做任何修改,直接使用 package
打成的就是jar包。
使用 java -jar xxx.jar
启动。
若在Linux中可以使用 nohup java -jar xxx.jar &
方式启动。
nohup 为后台启动,通过查看日志文件 nohup.out
文件查询( tail -200f nohup.out
)项运行情况。通过 ps -ef | grep xxx.jar
找到程序 pid
,使用 kill -9 pid
杀掉进程即关闭 xxx.jar
程序。
war包启动
- 在
pom.xm
添加打包方式
<packaging>war</packaging>
- 去除内嵌的tomcat依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!-- provided仅在编译和测试时有效 -->
<scope>provided</scope>
</dependency>
- 修改启动类
// spring boot启动方式(默认)
@SpringBootApplication
@EnableScheduling
public class SpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}
// 修改后
@SpringBootApplication
@EnableScheduling
public class SpringBootApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringBootApplication.class);
}
}
- 添加打包命令
clean package
- 若在weblogic中启动war包,可以添加weblogic.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
<wls:container-descriptor>
<wls:prefer-application-packages>
<wls:package-name>org.slf4j</wls:package-name>
</wls:prefer-application-packages>
</wls:container-descriptor>
<wls:context-root>/applicatioin</wls:context-root>
</wls:weblogic-web-app>
可以直接在项目中写好weblogic.xml文件
在weblogic中选择 部署为应用程序
引入本地jar包(非maven依赖包)
引入路径如下:
可以发现,我放在了项目根目录下。
可以在pom.xml中直接引入jar包:
<dependency>
<groupId>cn.geoary</groupId>
<artifactId>barcode4j-light</artifactId>
<version>2.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/barcode4j-light-2.0.jar</systemPath>
</dependency>
切记,这里的scpoe为 system
。
system与provide相同,只不过system必须配合systemPath使用,而provide会从maven仓库拉取。
build 节点:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<webResources>
<resource>
<!--把本地lib里面的jar复制到lib-->
<directory>${project.basedir}/lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<filtering>false</filtering>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
<finalName>applicatioin</finalName>
</build>
标签:
Java
, Spring Boot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)