我有一个包装类型为war
(JSF应用程序)的maven-module“web-app”。它对包装类型为jar
的同一项目的另一个模块“核心”具有依赖性。这个jar包含了Java类和资源(js或xhtml-Files)。使用IntelliJ IDEA部署分解多模块项目
现在我在IntelliJ 2016.3中使用Web应用程序的分解版本在JBoss上进行部署。但是模块“核心”也没有爆炸,所以我不能对核心资源进行热部署。但是:类的热部署工作。
我已经对webapp-artifact尝试了一些修改: 当我在JBoss启动时加入“核心编译输出”到WEB-INF/classes
,但找不到任何资源。 当将“核心编译输出”添加到没有被jar包围的WEB-INF/lib中时,我得到一堆ClassNotFound-Exceptions。
你有一个想法,我怎么能热再部署我的资源?
- 编辑
包装时使用maven -folder包含所有依赖关系罐子web-app/target
项目。 使用Maven的资源,我的插件添加到web应用的pom.xml
下面的代码片断的CrazyCoders评论后:
# web-app/pom.xml
<build>
...
<resources>
<resource>
<directory>../core/src/main/resources/META-INF/resources</directory>
</resource>
</resources>
...
</build>
现在的资源在web-app/target
-folder!例如,文件search.xhtml位于以下位置:
1. web-app/target/classes/app/search/search.xhtml
2. web-app/target/<finalName>/WEB-INF/classes/app/search/search.xhtml
,包装瓶之后里面:
3. web-app/target/<finalName>/WEB-INF/lib/core-1.11.0-SNAPSHOT.jar
4. core/target/core.jar
当我改变search.xhtml
并单击IntelliJ IDEA的“更新资源”,只有文件1.,2.和3.更改,但不是4.
重新加载时仍然没有任何反应。在上面的屏幕截图中,配置了IntelliJ应该使用core-1.11.0-SNAPSHOT
而不是core.jar
。或者还有其他的原因,为什么这些资源不会更新?
问候, 六甲
你确定核心编译输出包含所有必需的文件吗?检查磁盘上的输出目录。 – CrazyCoder
是的,它包含所有的.cass文件,但没有像css或js这样的资源文件。 –
因此,问题是由模块的编译输出中缺少的资源引起的? – CrazyCoder