前言
一个关于jar包管理的程序,包含应用上传、启动、停止、日志控制台查看、日志下载等相关功能。
一、准备工作
下载好项目之后,application.properties配置好相关参数
server.port=8888
#server.context-path=/TestProject
#db link param
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=
jdbc.username=
jdbc.password=
spring.mvc.view.prefix=/WEB-INF/views
spring.mvc.view.suffix=.jsp
#upload single file max
spring.http.multipart.max-file-size=200MB
spring.http.multipart.max-request-size=200MB
#jar storage root path
jar.storage.path.prefix=D:\\jarmanage\\jarManage
#log path 这里日志前缀要和jar.storage.path.prefix值一值
logging.file=D:\\jarmanage\\jarManage\\system\\system.log
logging.level.com=debug
二、项目页面、功能展示
配置好之后,启动项目
访问http://127.0.0.1:8888/view/jarmanage/main
添加项目
配置全局jdk(优先级:项目配置的jdk > 全局jdk > 操作系统的jdk),然后如果系统有配jdk环境可以忽略,但是最好配一下,防止读取的不是理想的jdk版本
右键启动项目,可以看到启动完之后的实时日志信息。另外,右键日志界面有停止日志、下载日志、清空控制台信息、清空存储日志文件等操作
右键项目,可以看到项目的存储信息,运行信息(前提启动了)
功能汇总
1、jar的上传,启动、停止(包括顺序批量启动、停止)
1)jar包启动利用的是runtime的process exec方法执行命令形式
2)pid利用JMX获取,port利用到的技术是java代理premain(之后会有JMX、premain简单实例文章)
2、jar日志的实时查看、下载、清空(linux清空友好,window还存在异常)
1)日志实时查看利用websocket信息传输
3、缓存数据清空、数据修复,应用数据导入、导出
功能拓展
1、在jar包启动方面,添加分组的概念,可以添加多个分组,按照分组启动
2、更好的命令操作,在控制台直接操作更多的命令(存在不安全)
项目地址
项目下载地址GitHub - sakyoka/TestProject
相关功能实现文章
springboot集成websocket 实时输出日志到浏览器(一)_sakyoka的博客-CSDN博客_websocket实时显示日志
springboot集成websocket 清空日志后消息广播通知前端重新连接(二)_sakyoka的博客-CSDN博客
springboot集成JWT 登录验证_sakyoka的博客-CSDN博客
日常记录:springboot 给websocket 添加拦截、认证(一)_sakyoka的博客-CSDN博客
日常记录:springboot 给websocket 添加拦截、认证(二)_sakyoka的博客-CSDN博客
日常记录:java JMX获取MBean从而获取目标应用的pid_sakyoka的博客-CSDN博客
日常记录:java 注册以及获取MBean,获取应用端口、ip_sakyoka的博客-CSDN博客
日常记录:Runtime.getRuntime().exec() 执行jps -l获取pid的坑_sakyoka的博客-CSDN博客