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包启动

  1. pom.xm 添加打包方式
<packaging>war</packaging>
  1. 去除内嵌的tomcat依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <!-- provided仅在编译和测试时有效 -->
    <scope>provided</scope>
</dependency>
  1. 修改启动类
// 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);
    }
}
  1. 添加打包命令
clean package

  1. 若在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>
posted @   Geoary  阅读(91)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示