我有一个maven-module" web-app"包装类型war
(JSF应用程序)。它依赖于另一个模块"核心"包装类型为jar
的同一项目。这个jar包含Java-classes和resources(js或xhtml-Files)。
现在我在IntelliJ 2016.3中使用web-app的爆炸版本在JBoss上进行部署。但模块"核心"也不会爆炸,所以我无法对核心资源进行热部署。但是:热门的课程部署工作。
我已经在webapp-artifact上尝试了一些修改:
添加"核心编译输出"到WEB-INF/classes
我的JBoss启动了,但它找不到任何资源。
添加"核心编译输出"对于没有被jar包围的WEB-INF / lib,我得到了一堆ClassNotFound-Exceptions。
您是否知道如何再次热部署我的资源?
- 编辑
使用maven打包项目时,web-app/target
- 文件夹包含所有依赖项作为jar。
在CrazyCoders评论使用maven-resources-plugin之后,我添加到了网络应用程序的pom.xml
以下代码段:
# web-app/pom.xml
<build>
...
<resources>
<resource>
<directory>../core/src/main/resources/META-INF/resources</directory>
</resource>
</resources>
...
</build>
现在资源位于web-app/target
- 文件夹中!例如,文件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
并点击&#34;更新资源&#34;在IntelliJ IDEA中,只有文件1.,2。和3.更改,但不是4。
重装时仍然没有任何反应。在上面的屏幕截图中,已配置IntelliJ应使用core-1.11.0-SNAPSHOT
而不是core.jar
。或者还有什么其他原因为什么这些资源不会更新?
此致 六甲
答案 0 :(得分:0)
这听起来类似于我过去几天一直在努力解决的问题。问题是Intellij没有使用Maven来构建模块。它只是做一个简单的编译。因此罐子没有正确包装。我的解决方法是从lib节点中删除模块的条目,使用Add Copy of | new替换它。将文件指向模块目标文件夹中的jar文件。完成后,我还需要在配置中添加一个Run Maven目标来执行一个&#34; clean package&#34;在构建战争神器之前。