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>

浙公网安备 33010602011771号