在war libs中热部署资源

时间:2015-02-04 16:32:27

标签: eclipse java-ee jboss wildfly wildfly-8

使用Wildfly 8.2.0.Final,Windows 7,JBoss Developer Studio 8.0.2.GA。

我们正试图将战争分解为模块。似乎最自然的方法是依靠web片段+ JSF / Facelet能力在war / WEB-INF / lib jar中查找资源。
问题是对xhtml facelet模板和静态资源的更改不会动态应用,因为如果战争本身中存在相同的事物,就会发生这种情况。

据我所知,这是因为:

  • 片段jar由IDE打包部署,而不是爆炸;
  • VFS在tmp目录中创建一个罐子副本,然后将其解包;
    VFS3 User Guide说“只要有可能,JavaZipFileSystem就会尝试使用JarEntry来支持文件系统操作。如果不可能,它会将JarEntry的副本写入临时目录”。我不明白这个“什么时候不可能”意味着什么,并且单步执行org.wildfly.extension.undertow.deployment.WarStructureDeploymentProcessor代码似乎总是制作一个jar副本。
  • org.jboss.vfs.spi.JavaZipFileSystem似乎试图观察jar的最后修改时间,但它会查看副本,而不是原始副本; JBoss Developer Studio无论如何都不会改变原始jar的最后修改时间,例如更新xhtml时。

问题。

  1. 某处有错误吗? VFS?暗流?我不确定所描述的行为是否有意。
  2. 战争库中的热部署资源是否应该被Wildfly支持?即合理吗?
  3. 如何使用Wildfly 8.2.0.Final实现此功能?
    1. 替换Undertow的war部署ResourceManager,以某种方式修改getResource?
    2. 对VFS.mounts做点什么?什么?
    3. 放弃这种方法。而是将这些war子模块放入到耳朵级别的EJB中,因此它们将被部署为爆炸式的。将这些“EJB”添加为战争部署资源根源,如WarStructureDeploymentProcessor。

1 个答案:

答案 0 :(得分:0)

结束在JBIDE-20071 Allow deploying exploded jars to war/WEB-INF/lib中修复此问题,以便JBoss Tools部署Web片段。正在部署Web片段,只是因为之前JBoss AS7中存在一个错误(AS7-4704)。

相关问题