Linux利用Shell脚本部署jar包项目的完整步骤

在Linux环境中,自动化部署Java应用程序通常使用Shell脚本来实现,特别是对于包含jar包的应用,这种方法既高效又方便。本文将详细介绍如何使用Shell脚本在Linux上部署jar包项目。 确保你的系统已经安装了Java Development Kit (JDK)。你可以通过`uname -a`命令查看操作系统位数,然后从Oracle官网下载对应位数的JDK安装包。这里推荐下载tar.gz格式的包。安装步骤包括: 1. 将JDK安装包上传到 `/root` 目录。 2. 检查系统是否已安装JDK,如果有,使用`rpm -qa | grep jdk`列出所有JDK相关的软件,并使用`rpm -e --nodeps 软件名称`进行卸载。 3. 使用`tar -xvf`命令解压JDK安装包到 `/usr/local` 目录。 4. 进入解压后的目录,并将文件夹重命名为 `jdk`。 5. 编辑系统环境变量配置文件 `/etc/profile`,添加以下内容以设置`JAVA_HOME`、`CLASSPATH`和`PATH`: ``` #java runtime setting export JAVA_HOME=/usr/local/jdk export CLASSPATH=$JAVA_HOME/lib:. export PATH=$JAVA_HOME/bin:$PATH ``` 6. 保存并退出编辑,然后运行 `source /etc/profile` 使配置生效。 7. 验证JDK安装是否成功,执行 `java -version` 查看版本信息。 接下来,我们讨论如何部署jar包。假设有一个名为 `myjar.jar` 的应用,部署过程如下: 1. 创建一个名为 `data` 的目录,然后在其中创建一个名为 `test` 的子目录,作为应用的部署根目录。 2. 在 `test` 目录下,创建与应用相关的文件夹结构,例如: ``` data ├── test │ └── app │ └── myjar.jar ├── config │ └── application.yml └── log ``` 3. 编写一个名为 `restart.sh` 的Shell脚本,用于启动和重启应用。脚本内容如下: ```bash #!/bin/bash base_home='/data/test' app_name='myjar' pid=$(ps -ef | grep ${app_name} | grep -v grep | grep -v restart | awk '{print $2}') if [ -n "${pid}" ]; then kill -9 ${pid} sleep 10 fi gclog_file=$base_home/log/gc.log dump_dir=$base_home/heapdump errorlogs_dir=$base_home/log java -Xmx1g -Xms1g -XX:+UseParallelGC -XX:+UseParallelOldGC \ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation \ -XX:GCLogFileSize=128M -XX:NumberOfGCLogFiles=1 \ -Xloggc:${gclog_file} -XX:HeapDumpPath=${dump_dir} \ -jar $base_home/app/${app_name}.jar --spring.config.location=$base_home/config/application.yml \ >> $base_home/log/${app_name}_$(date +'%Y%m%d').log & ``` 注意,`-jar` 参数后的路径应为jar包的绝对路径,例如 `/data/test/app/myjar.jar`。 4. 为了让脚本具有执行权限,使用 `chmod +x restart.sh` 命令。 5. 使用 `./restart.sh` 启动或重启应用。应用的日志会被记录到 `log` 目录下,以 `myjar_YYYYMMDD.log` 的形式命名。 6. 可以通过访问 `http://ip:8080/` 来检查应用是否正常运行。日志文件则位于 `/data/test/log` 目录,通过 `cd /log` 进入查看。 总结来说,通过编写和使用Shell脚本,可以实现自动化部署和管理Linux上的Java应用jar包。这不仅可以提高工作效率,还可以降低手动操作带来的错误率。请根据你的实际项目需求调整脚本内容,以确保其适应你的应用环境。希望这篇文章对你在学习或工作中部署Java应用有所帮助。













- 泡泡SOHO2023-07-25文章中并未过分夸大脚本部署的优势,对于喜欢简单高效的人来说是一个不错的选择。
- 宏馨2023-07-25作者对每一个步骤都进行了解释,让读者能够更好地理解每一步的作用。
- 禁忌的爱2023-07-25文中提供的步骤清晰明了,适合初学者快速上手。
- 滚菩提哦呢2023-07-25作者分享了一些自己的实战经验,对于读者来说是很有帮助的参考资料。
- 点墨楼2023-07-25这篇文章详细介绍了利用Shell脚本部署jar包项目的步骤,很实用。

- 粉丝: 9
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 《数据结构—用c语言描述》课后习题答案.doc
- 机械设计制造及其自动化考试试题.doc
- 2022年小学教育信息化设备使用管理情况自查自纠报告-.doc
- 策论电力系统中电气自动化技术的应用.docx
- 关于对目前通信工程建设存在的问题及对策研究.docx
- 项目10单片机LCD液晶显示器实验讲义资料.ppt
- 轴套类零件数控加工工艺及编程设计.doc
- 南开大学2021年9月《Python编程基础》作业考核试题及答案参考19.docx
- 大数据时代开展电力物资供应链全流程风险管控策略.docx
- 基于PLC的机械手控制系统设计.doc
- Live2D-View软件的使用教程 PPT.ppt
- 基于随机Petri网的Web网站系统的脆弱性评价研究的开题报告.docx
- 教育信息化发展与趋势分析V0 PPT.ppt
- 计算机网络实验之Ping程序的设计与实现.doc
- 基于文本的Web图像检索技术研究的开题报告.docx
- 电子商务对国际贸易的影响和对策分析.docx


