springboot启动命令start.sh

#!/bin/bash

# 构建MT
appname="trans-manager"
echo "Input application name: ${appname}"

# 查找与appname匹配的进程ID,排除grep本身
PIDS=$(ps -ef | grep "${appname}" | grep -v grep | awk '{print $2}')

if [ -z "$PIDS" ]; then
    echo "No running process found for ${appname}"
else
    # 遍历并杀掉pid
    for PID in $PIDS; do
        echo "Killing pid=${PID} process"
        kill -15 $PID
        
        # 检查进程是否已经退出
        if ! kill -0 $PID > /dev/null 2>&1; then
            echo "Process ${PID} successfully terminated."
        else
            sleep 2
            if ! kill -0 $PID > /dev/null 2>&1; then
                echo "Process ${PID} successfully terminated after retry."
            else
                kill -9 $PID
                echo "Forcefully killed process ${PID}."
            fi
        fi
    done
    echo "Kill ${appname} success"
fi

# 切换到项目目录
cd /usr/local/projects/trans-manager || { echo "Directory not found"; exit 1; }

# 启动新的Java进程
nohup java -jar trans-manager-1.0-SNAPSHOT.jar --spring.cloud.nacos.discovery.namespace=xxxxxx --spring.cloud.nacos.config.namespace=xxxx --spring.profiles.active=test > trans.log 2>&1 &
echo "trans-manager startup success"
echo "Start ${appname} success"

### 配置Spring Boot项目以支持JDK 19的`--enable-preview`特性 为了使Spring Boot应用程序能够利用Java 19中的预览功能,需要确保启动命令中包含了`--enable-preview`选项。这可以通过修改启动脚本来实现。 对于使用Shell脚本作为启动方式的情况,在`start.sh`文件里加入相应的JVM参数设置: ```bash #!/bin/bash nohup java --enable-preview -jar your-spring-boot-app.jar & ``` 上述代码片段展示了如何通过指定`java`命令来启用预览语言特性的方法[^1]。这里的关键在于`--enable-preview`标记被放置于其他任何参数之前,并紧随`java`指令之后。 当构建和运行依赖于这些新特性的应用时,还需要保证编译阶段同样启用了该标志。如果采用Maven或Gradle这样的构建工具,则应在相应配置文件中适当位置添加此开关。 另外值得注意的是,除了在启动脚本中设定外,也可以考虑将这个属性放在环境变量或是IDEA等开发环境中进行全局定义以便统一管理。 #### 示例:完整的`start.sh`脚本样例 下面是一个更详细的例子,它不仅设置了`--enable-preview`,还加入了日志重定向等功能: ```bash #!/bin/bash APP_NAME="your-application" LOG_FILE="./logs/${APP_NAME}.log" # 创建日志目录并赋予可写权限 mkdir -p ./logs && chmod a+w ./logs echo "Starting ${APP_NAME}..." nohup java \ --enable-preview \ -Dspring.profiles.active=prod \ -jar target/${APP_NAME}-*.jar >> $LOG_FILE 2>&1 & echo "${APP_NAME} started, check log at ${LOG_FILE}" ``` 这段脚本会创建必要的日志存储路径,然后以后台模式执行带有预览功能开启的应用程序实例,同时把标准输出和错误都记录下来供后续调试之用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值