我正在尝试.war
在 JBoss 服务器中部署的文件中动态创建一个 HTML 文件。
它不允许我创建。.war
有人可以帮我在 Java 中的已部署文件中创建一个 HTML 文件吗?
在这种情况下,war文件应部署为已分解。利用
String jbossHome = System.getenv("JBOSS_HOME");
访问服务器部署。
然后你需要一个文件分隔符
String separator = System.getProperty("file.separator");
然后构建部署根目录的路径。假设您有默认值
String deployRootPath = jbossHome + separator + "server" + separator + "default" + separator + "deploy" + separator;
File dir = new File(deployRootPath + "mywebapp.war");
if (dir.exists() && dir.isDirectory()) {
File myHtmlFile = new File(dir+separator+"myhtmlfile.html");
myHtmlFile.createNewFile();
WAR 文件是一个简单的 ZIP 文件。我不知道是否有办法“挂载”一个 zip 文件并像文件系统一样访问它,但你绝对可以解压缩 WAR 文件,添加你的文件并再次压缩它。
WAR 在某种程度上是一个重命名的 ZIP 文件。解压添加文件。重新压缩。我想会有一些库允许我们在不完全解压缩的情况下添加文件。只是谷歌。
在幕后,.war 文件只是一个 .zip 文件。
我不打算讨论当您修改 war 文件的内容时您的容器 (JBOSS) 将如何反应(默认情况下可能会自动重新加载您的 web 应用程序?),但您可以将 .war 视为任何其他 .zip,除了不同的文件扩展名。
如果您需要这样做,请参阅有关如何在 java 中使用 zip 文件的其他帖子。