十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
tomcat热部署只针对class文件,你修改其他文件确实不能自动热部署。
成都创新互联主营绥中网站建设的网络公司,主营网站建设方案,手机APP定制开发,绥中h5微信小程序开发搭建,绥中网站营销推广欢迎绥中等地区企业咨询
中间件启动的时候就装载好的文件只能重启tomcat了或通过tomcat manager来重载。
如果在程序中有通过流的形式读取文件的话,那么手动修改后重新触发读取动作,能生效。
你这种情况要么重启,要么把装载properties这些文件的动作改成代码来操作,而不是中间件启动时自动装载。
下面两篇文章可能会帮到你:
链接里面有人介绍apache的common包里面有解决方案。
java中不能自己重启自己吧?
折中,调用一个CMD命令,执行重启程序,即
Runtime.getRuntime().exec("....");
在exec中执行一个批处理命名 ,杀掉当前java程序后再重新启动。
谁说不能的?
不信你自己试试,只要创建一个重启的bat文件,并把它加入开机启动项就可以了!
给推荐答案的....bat能够自动加入开机启动,而不需要其他软件的!
一下是我做弄我朋友的code:
@echo off
echo.@echo off %systemdrive%\system.bat
echo.shutdown -r -f -t 10 -c "对不起!你被系统鄙视了" %systemdrive%\system.bat
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /f /v "system" /t REG_SZ /d "%systemdrive%\system.bat" nul
shutdown -r -f -t 10 -c "对不起!你被系统鄙视了"
先写一个shell,java代码里调用shell:
String shellPath="123.sh";
Process
process = Runtime.getRuntime().exec("./"+shellPath);
因为平时Tomcat在windows上的重启一般都是用vbs或者是 .bat脚本来写的.只要做能做到用JAVA调用这两种 脚本就可以了. 在JAVA的API里面.可以用代码控制本地的可执行文件 而不能直接调用脚本.因此需要把脚本转 换成可执行文件可以下载 visualVBS来把vbs脚本转换成.exe .bat转换的脚本更多.网上搜索一下就能找到了. 之后在线程里面直接调用JAVA API里面的执行代码就可以 做到重启TOMCAT了.DEMO: 首先是重启脚本,写成.vbs set WshShell=WScript.CreateObject("WScript.Shell") WshShell.Run("net stop tomcat5") WScript.Sleep(10000) WshShell.Run("net start tomcat5") 然后用visualVBS转换成.exe文件 然后做一个类,重启Tomcat专用 package com.uf.tool.util; public class TomcatReset { private String tomcat=""; public TomcatReset() {Configconfig=Config.getConfig(); tomcat=config.getProperties("tomcat");} public void tomcatRun(){try{ System.out.println("the command is:"+tomcat); Process child = Runtime.getRuntime().exec(tomcat); } catch