大家好我是jboss / wildfly世界的新手我正在开发一个支持tomcat和wildfly的java应用程序,我有一段代码可以动态地改变文件内容(来自java代码)...当我执行时tomcat中的以下代码,它会更新文件并自动重启...但是当我使用wildfly尝试相同的代码时,我没有看到文件内容的任何更新。
注意:我正在从管理控制台部署.WAR文件(该文件位于.WAR中)。
我尝试重新启动wildfly服务器,不要更改相同的旧文件内容。
这是我的一段java代码,
Path nioPath = Paths.get(XYZScript.getPath());
List<String> aLines = new ArrayList<>();
aLines.add("Content 1");
aLines.add("Content 2");
try {
Files.write(nioPath, aLines, ENCODING, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE);
} catch (IOException e) {
我找到了一些链接,说我们需要重新部署.WAR或使用Overlay 但它应该是程序化的,用户将动态更改文件
答案 0 :(得分:0)
在部署期间,JBoss / Wildfly在$JBOSS_HOME/standalone/tmp/vfs/deployment
下解压缩部署。它用作虚拟文件系统(vfs)。但是在取消部署时它也会被删除。
在您的情况下,您必须修改$JBOSS_HOME/standalone/deployments
下的战争,并使用<war-name>.war.dodeploy
等标记文件触发重新部署。有关标记文件的详细信息,请参阅here。