最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

eclipse新建SpringBoot項目的詳細圖文教程

 更新時間:2026年07月07日 09:07:55   作者:Hvitur  
這篇文章主要介紹了eclipse新建SpringBoot項目的相關資料,手把手教你從零創(chuàng)建項目、配置JDK和Maven、集成SpringTools插件,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

一、新建工作空間

在現(xiàn)有的工作空間下新建文件夾,這里命名為:springboot-demo

選擇新建的工作空間

多個項目的工作空間盡量隔離,避免混亂

二、配置eclipse

1.配置jdk

注意只能選擇jdk,不能選擇jre

選擇自己項目的版本

2.配置Maven

點擊菜單欄window?preferences?Maven?Installations

我這里目錄選擇的是:D:\Software\maven\apache-maven-3.9.9

選擇對應目錄下面的settings.xml、toolchains.xml

三、安裝STS插件方式創(chuàng)建

1.安裝Spring Tools插件

  1. 打開Eclipse,點擊菜單欄 Help → Eclipse Marketplace…
  2. 在搜索框中輸入Spring Tools
  3. 找到 Spring Tools (aka Spring Tool Suite) 5.0.1.RELEASE,點擊 Install
  4. 安裝插件導向窗口完成后,在eclipse右下角將會出現(xiàn)安裝插件的進度,
  5. 等插件安裝完成后重啟eclipse生效

2.創(chuàng)建Spring Boot項目

1、點擊 File → New → Other…

2、展開 Spring Boot 目錄,選擇 Spring Starter Project,點擊 Next

這里選擇的Java Version是17,因為Spring Tools 5不支持更低的版本,后面可以修改

字段說明示例備注
Name項目名稱springboot-demo起個名字
Type項目類型Maven
Packaging打包方式Jar
Java VersionJava版本17/21
Group組織IDcom.example企業(yè)開發(fā)替換為實際的組織名
Artifact項目名demo
Package包名com.example.demo會自動創(chuàng)建包

選擇需要的依賴

依賴名稱核心作用適用場景新手備注
Spring Web提供Spring MVC核心功能,內(nèi)置Tomcat容器,支持開發(fā)RESTful接口、Web請求處理所有Web/接口類Spring Boot項目必選依賴(開發(fā)后端接口的基礎)
Spring Boot DevTools實現(xiàn)項目熱部署(修改代碼無需重啟應用),提升開發(fā)效率本地開發(fā)階段僅開發(fā)環(huán)境用,生產(chǎn)環(huán)境會自動禁用
Lombok簡化Java代碼(如用@Data替代get/set方法、@Slf4j簡化日志)所有想簡化代碼的Java項目可選,需在IDE中安裝Lombok插件才能生效
Oracle Driver提供Oracle數(shù)據(jù)庫的JDBC驅(qū)動,實現(xiàn)Java程序連接Oracle數(shù)據(jù)庫項目需操作Oracle數(shù)據(jù)庫時需配合數(shù)據(jù)庫連接配置(application.yml)
Spring Data JPA封裝JPA(持久層規(guī)范),簡化數(shù)據(jù)庫CRUD操作(無需手寫SQL)需操作數(shù)據(jù)庫且想簡化持久層代碼依賴數(shù)據(jù)庫驅(qū)動(如oracle Driver)才能使用

3.項目的目錄結(jié)構(gòu)

springboot-demo
├── src/                          # 源代碼根目錄
│   ├── main/                     # 主代碼
│   │   ├── java/                 # Java 源代碼
│   │   │   └── com/example/demo/ # 包結(jié)構(gòu)
│   │   │       └── SpringbootDemoApplication.java  # 主啟動類
│   │   └── resources/            # 資源文件
│   │       ├── static/           # 靜態(tài)資源 (CSS/JS/圖片)
│   │       ├── templates/        # 模板文件 (Thymeleaf等)
│   │       └── application.properties  # 配置文件
│   │
│   └── test/                     # 測試代碼
│       └── java/                 # 測試 Java 代碼
│
├── target/                       # 編譯輸出目錄 (自動生成)
│   ├── generated-sources/        # 生成的源代碼
│   └── generated-test-sources/   # 生成的測試代碼
│
├── HELP.md                       # 項目幫助文檔
├── mvnw                          # Maven Wrapper (Linux/Mac)
├── mvnw.cmd                      # Maven Wrapper (Windows)
└── pom.xml                       # Maven 配置文件 ?

4.pom文件報錯和修改版本

將【xsi:schemaLocation】的地址從https修改為http

否則pom文件會有報錯

#修改前
xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

#修改后
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

因為 Spring Tools 5最低只能使用Java17,因此如果Java版本較低的話,需要修改版本

如果是正常版本則不需要修改,我這里是jdk11,因此需要修改

<!-- 1. 降級Spring Boot父工程到2.7.18(唯一適配JDK 11的穩(wěn)定版) -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.18</version> <!-- 把默認的3.x改成2.7.18 -->
    <relativePath/>
</parent>

<!-- 2. 強制指定編譯用JDK 11 -->
<properties>
    <java.version>11</java.version> <!-- 把17改成11 -->
    <maven.compiler.source>11</maven.compiler.source> <!-- 新增:編譯源碼用11 -->
    <maven.compiler.target>11</maven.compiler.target> <!-- 新增:編譯產(chǎn)物適配11 -->
</properties>

修改完之后重啟下eclipse,不然可能會pom文件報錯

5.pom文件添加依賴

這是我使用的pom文件,可以按需添加依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.8</version>
        <relativePath/>
    </parent>
    
    <groupId>com.example</groupId>
    <artifactId>springboot-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-demo</name>
    <description>Demo project for Spring Boot</description>
    
    <properties>
        <java.version>11</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <lombok.version>1.18.24</lombok.version>
    </properties>
    
    <dependencies>
        <!-- Spring Boot Web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
        <!-- Spring Boot JDBC -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        
        <!-- Spring Boot DevTools -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        
        <!-- MyBatis-Plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        
        <!-- Oracle 驅(qū)動 -->
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
        </dependency>
        
        <!-- Oracle 國際化支持(解決字符集問題) -->
        <dependency>
            <groupId>com.oracle.database.nls</groupId>
            <artifactId>orai18n</artifactId>
        </dependency>
        
        <!-- Lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <optional>true</optional>
        </dependency>
        
        <!-- Test -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
            <!-- Spring Boot 打包插件-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

6.修改application配置文件

修改application.properties為application.yml格式

# 服務器配置
server:
  port: 8080

# Spring 應用配置
spring:
  application:
    name: demo
  # 數(shù)據(jù)源配置(Oracle)
  datasource:
    driver-class-name: oracle.jdbc.OracleDriver
    url: jdbc:oracle:thin:@127.0.0.0:1521:orcl
    username: root
    password: 123456
    # 連接池配置
    hikari:
      minimum-idle: 5
      maximum-pool-size: 20
      idle-timeout: 30000
      connection-timeout: 30000
      max-lifetime: 1800000

# 日志配置
logging:
  level:
    root: INFO
    com.example.demo: DEBUG
    com.example.demo.mapper: DEBUG
    com.baomidou.mybatisplus: DEBUG
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %clr(%-5level){FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=blue, TRACE=blue} %clr(%logger{50}){cyan} - %clr(%msg){white}%n"

# MyBatis-Plus 配置
mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  type-aliases-package: com.example.demo.entity
  global-config:
    banner: false
    db-config:
      id-type: ASSIGN_ID
      logic-delete-field: deleted
      logic-delete-value: 1
      logic-not-delete-value: 0
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

四、寫測試程序

1.新建基本的包

作用
controller此目錄主要是存放**Controllerde ,比如:UserController.java,也有的項目是把action放在controller目錄下,有的是把UserController.java放在action目錄下
service這里分接口和實現(xiàn)類,接口在service目錄下,接口實現(xiàn)類在service/impl目錄下
mapper持久層,Mybatis使用,操作數(shù)據(jù)庫
entity就是數(shù)據(jù)庫表的實體對象
param分為request和response。放的是請求參數(shù)和相應參數(shù)UserQueryRequest、BaseResponse等
util通常是一些工具類,比如說:DateUtil.java、自定義的StringUtil.java
interrupt項目統(tǒng)一攔截處理,比如:登錄信息,統(tǒng)一異常處理
exception自定義異常,異常錯誤碼
config配置讀取相關,比如RedisConfig.java

新建之后空白的包目錄

2.編寫Controller示例

src/main/java 下創(chuàng)建Controller類:

package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;

@Slf4j
@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
    	log.info("測試日志打印");
        return "Hello Spring Boot!";
    }
}

3.運行項目

1、右鍵點擊 SpringbootDemoApplication.java

2、選擇 Run As → Spring Boot App

3、控制臺顯示 Started DemoApplication 表示啟動成功

4、瀏覽器訪問:http://localhost:8080/hello

5、顯示: Hello Spring Boot!代表調(diào)用成功

五、調(diào)用數(shù)據(jù)庫

1.創(chuàng)建測試表

這里是Oracle數(shù)據(jù)庫

-- 創(chuàng)建用戶表
CREATE TABLE SYS_USER (
    ID           NUMBER(19) NOT NULL,
    USERNAME     VARCHAR2(50) NOT NULL,
    EMAIL        VARCHAR2(100),
    CREATE_TIME  DATE DEFAULT SYSDATE,
    UPDATE_TIME  DATE DEFAULT SYSDATE,
    DELETED      NUMBER(1) DEFAULT 0,
    CONSTRAINT PK_SYS_USER PRIMARY KEY (ID)
);
-- 插入測試數(shù)據(jù)
INSERT INTO SYS_USER (ID, USERNAME, EMAIL) VALUES (1, 'admin', 'admin@example.com');
INSERT INTO SYS_USER (ID, USERNAME, EMAIL) VALUES (2, 'user1', 'user1@example.com');
COMMIT;

2.MybatisPlus配置文件

配置的分頁查詢邏輯

MySQL 分頁插件會自動拼接 LIMIT ? OFFSET ? 語法;

Oracle 則會拼接基于 ROWNUM 的嵌套查詢語法。

package com.example.demo.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MybatisPlusConfig {
    
    /**
     * 分頁插件配置
     * Oracle 數(shù)據(jù)庫需要指定 DbType.ORACLE
     * 不同的數(shù)據(jù)庫分頁語法不同,DbType.ORACLE制定分頁語法為Orcale
     * Mysql可以寫為:DbType.MYSQL
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 添加分頁攔截器,指定 Oracle 數(shù)據(jù)庫類型
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
        return interceptor;
    }
}

3.entity實體類

package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@TableName("SYS_USER")  // Oracle 表名通常大寫
public class User implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 主鍵 (Oracle 序列生成)
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    
    /**
     * 用戶名
     */
    @TableField("USERNAME")
    private String username;
    
    /**
     * 郵箱
     */
    @TableField("EMAIL")
    private String email;
    
    /**
     * 創(chuàng)建時間
     */
    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    
    /**
     * 更新時間
     */
    @TableField(value = "UPDATE_TIME", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    
    /**
     * 邏輯刪除 (0-未刪除,1-已刪除)
     */
    @TableLogic
    @TableField("DELETED")
    private Integer deleted;
}

4.mapper接口

package com.example.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
    // 繼承 BaseMapper 后,無需編寫即可使用 CRUD 方法
    // 如需自定義 SQL,可在此添加方法
}

5.service服務

service接口

package com.example.demo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.demo.entity.User;

public interface UserService extends IService<User> {
    // 繼承 IService 后,無需編寫即可使用 CRUD 方法
}

service實現(xiàn)類

package com.example.demo.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import com.example.demo.service.UserService;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
    // 繼承 ServiceImpl 后,無需編寫即可使用 CRUD 方法
}

6.controller控制類

package com.example.demo.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;

@Slf4j
@RestController
@RequestMapping("/users")
public class UserController {
    
    @Autowired
    private UserService userService;
    
    /**
     * 查詢所有用戶
     */
    @GetMapping
    public List<User> list() {
    	log.info("查詢所有用戶");
        return userService.list();
    }
    
    /**
     * 根據(jù) ID 查詢
     */
    @GetMapping("/{id}")
    public User getById(@PathVariable Long id) {
        return userService.getById(id);
    }
    
    /**
     * 新增用戶
     */
    @PostMapping
    public boolean save(@RequestBody User user) {
        return userService.save(user);
    }
    
    /**
     * 更新用戶
     */
    @PutMapping
    public boolean update(@RequestBody User user) {
        return userService.updateById(user);
    }
    
    /**
     * 刪除用戶
     */
    @DeleteMapping("/{id}")
    public boolean remove(@PathVariable Long id) {
        return userService.removeById(id);
    }
    
    /**
     * 分頁查詢 (Oracle 分頁)
     */
    @GetMapping("/page")
    public Page<User> page(
            @RequestParam(defaultValue = "1") Integer current,
            @RequestParam(defaultValue = "10") Integer size) {
        Page<User> page = new Page<>(current, size);
        return userService.page(page);
    }
    
    /**
     * 條件查詢
     */
    @GetMapping("/search")
    public List<User> search(@RequestParam String username) {
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.like("USERNAME", username);
        return userService.list(wrapper);
    }
}

7.啟動類

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.demo.mapper")  // 掃描 Mapper 接口
public class SpringbootDemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringbootDemoApplication.class, args);
	}

}

8.接口測試

# 查詢所有用戶
http://localhost:8080/users

# 分頁查詢
http://localhost:8080/users/page?current=1&size=1

六、服務器部署

1.服務器安裝jdk

我這里的環(huán)境是Ubuntu 24

項目使用的是JDK11

在Ubuntu 24上使用docker安裝JDK11

apt-cache search java11
sudo apt-get install openjdk-11-jdk
java -version

2.打包

序號Run As 選項用途適用場景
1Java Application運行普通的 Java 類(含 main 方法)測試工具類、獨立程序
2JUnit Test運行 JUnit 單元測試執(zhí)行測試用例、驗證代碼
3Maven build…執(zhí)行自定義的 Maven 命令需要指定特定 Maven 目標時
4Maven clean執(zhí)行 mvn clean清理 target 目錄,重新構(gòu)建前
5Maven generate-sources執(zhí)行 mvn generate-sources生成代碼(如 Lombok、Protobuf)
6Maven install執(zhí)行 mvn install構(gòu)建并安裝到本地倉庫
7Maven test執(zhí)行 mvn test運行項目所有單元測試
8Maven verify執(zhí)行 mvn verify驗證構(gòu)建完整性(含測試)
9Spring Boot App運行 Spring Boot 應用啟動 Spring Boot 項目 ?
10Spring DevTools Client連接 DevTools 遠程服務開發(fā)時熱部署調(diào)試
11Run Configurations…打開運行配置管理界面自定義/編輯運行參數(shù)

項目根目錄Run As

修改Goals為:clean package -DskipTests

這里路徑是:

D:\Develop\eclipse workspace\springboot-demo\springboot-demo\target\springboot-demo-0.0.1-SNAPSHOT.jar

將生成的jar包上傳到服務器目錄(沒有的話新建):/service/springboot-demo

3.新建項目目錄

sudo mkdir -p /service/springboot-demo
sudo chown $USER:$USER /service/springboot-demo

#新建生產(chǎn)配置文件
cd /service/springboot-demo
vim application-prod.yml

Jar 包外部的配置文件(如 jar 同目錄/application.yml)優(yōu)先級> Jar 包內(nèi)部的配置文件(resources/application.yml)

配置合并規(guī)則

  • 覆蓋:外部配置中存在的項,會覆蓋內(nèi)部同名配置;
  • 合并:外部配置中不存在的項,會沿用內(nèi)部配置的內(nèi)容;
  • 新增:外部配置中新增的項,會被添加到最終配置中。
server:
  port: 8080

spring:
  application:
    name: demo
  datasource:
    driver-class-name: oracle.jdbc.OracleDriver
    url: jdbc:oracle:thin:@172.28.70.65:1521:orcl
    username: c##gaps
    password: 123456
    hikari:
      minimum-idle: 5
      maximum-pool-size: 20

logging:
  level:
    root: INFO
    com.example.demo: INFO

4.新建啟動和停止腳本

start.sh啟動腳本

#!/bin/bash
# SpringBoot 應用啟動腳本
# 適配項目:springboot-demo

# ========== 僅需修改這兩個配置項 ==========
APP_NAME="springboot-demo-0.0.1-SNAPSHOT.jar"  # JAR包名稱
APP_PATH="/service/springboot-demo"            # JAR包所在目錄
# ==========================================

# 生成日期字符串(格式:20260313)
DATE=$(date +"%Y%m%d")
# 日志文件名
LOG_FILE="${DATE}-demo.log"
# 日志目錄(自動創(chuàng)建)
LOG_DIR="${APP_PATH}/logs"

# 切換到應用目錄
cd "${APP_PATH}" || {
    echo "錯誤:目錄 ${APP_PATH} 不存在!"
    exit 1
}

# 檢查JAR包是否存在
if [ ! -f "${APP_NAME}" ]; then
    echo "錯誤:JAR包 ${APP_NAME} 不存在!"
    exit 1
fi

# 自動創(chuàng)建日志目錄
if [ ! -d "${LOG_DIR}" ]; then
    mkdir -p "${LOG_DIR}"
    echo "日志目錄已創(chuàng)建:${LOG_DIR}"
fi

# 啟動應用(日志輸出到日期格式的文件)
echo "正在啟動 ${APP_NAME}..."
nohup java -jar -Xms512m -Xmx512m -Dfile.encoding=UTF-8 "${APP_NAME}" > "${LOG_DIR}/${LOG_FILE}" 2>&1 &

# 檢查啟動狀態(tài)
sleep 2
PID=$(ps aux | grep "${APP_NAME}" | grep -v grep | awk '{print $2}')
if [ -n "${PID}" ]; then
    echo "應用啟動成功!進程ID:${PID}"
    echo "日志文件:${LOG_DIR}/${LOG_FILE}"
else
    echo "應用啟動失敗!請查看日志:${LOG_DIR}/${LOG_FILE}"
fi

stop.sh停止腳本

#!/bin/bash
# SpringBoot 應用停止腳本
# 適配項目:springboot-demo

# ========== 僅需修改這個配置項 ==========
APP_NAME="springboot-demo-0.0.1-SNAPSHOT.jar"  # JAR包名稱
# ==========================================

# 查找應用進程ID(排除grep自身進程,避免誤匹配)
PID=$(ps aux | grep -w "${APP_NAME}" | grep -v grep | awk '{print $2}')

# 判斷進程是否存在并執(zhí)行停止
if [ -n "${PID}" ]; then
    echo "正在停止應用 ${APP_NAME}(進程ID:${PID})..."
    # 先嘗試正常停止(給應用釋放資源的時間)
    kill "${PID}"
    sleep 3
    # 檢查進程是否還存在
    if ps -p "${PID}" > /dev/null 2>&1; then
        echo "應用未正常退出,強制停止..."
        kill -9 "${PID}"
        sleep 1
        # 再次確認是否停止成功
        if ! ps -p "${PID}" > /dev/null 2>&1; then
            echo "應用已強制停止!"
        else
            echo "錯誤:應用強制停止失敗!"
            exit 1
        fi
    else
        echo "應用已正常停止!"
    fi
else
    echo "應用 ${APP_NAME} 未運行,無需停止!"
fi
#授予權(quán)限
chmod +x /service/springboot-demo/start.sh
chmod +x /service/springboot-demo/stop.sh
#啟動
./start.sh
#停止
./stop.sh

5.腳本說明

start.sh

#這兩段如果路徑或者jar包名變了需要修改
APP_NAME="springboot-demo-0.0.1-SNAPSHOT.jar"  # JAR包名稱
APP_PATH="/service/springboot-demo"            # JAR包所在目錄
#日志路徑
/service/springboot-demo/logs/20260313-demo.log

stop.sh

#這段如果jar包名變了需要修改
APP_NAME="springboot-demo-0.0.1-SNAPSHOT.jar"  # JAR包名稱

6.訪問測試

# 查詢所有用戶
http://localhost:8080/users

# 分頁查詢
http://localhost:8080/users/page?current=1&size=1


# 查詢所有用戶
http://192.168.140.130:8080/users

# 分頁查詢
http://192.168.140.130:8080/users/page?current=1&size=1

總結(jié)

到此這篇關于eclipse新建SpringBoot項目的文章就介紹到這了,更多相關eclipse新建SpringBoot項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

安图县| 绵阳市| 五台县| 石棉县| 海原县| 临潭县| 特克斯县| 盐山县| 延庆县| 旬邑县| 旬邑县| 桂东县| 岐山县| 浮梁县| 凤冈县| 香港| 泽库县| 衡东县| 大石桥市| 兴山县| 武宣县| 香格里拉县| 漳州市| 天镇县| 屏东市| 颍上县| 曲阜市| 大化| 红桥区| 瑞安市| 来安县| 吉安县| 蛟河市| 通州区| 凤山市| 榕江县| 隆安县| 象山县| 台东县| 烟台市| 泾川县|