我有一个打包类型为war (JSF-war)的maven模块"web-app“。它依赖于同一项目的另一个模块“核心”,打包类型为jar。这个jar还包含Java类和资源(js或xhtml-Files)。
现在,我在IntelliJ 2016.3中使用web应用程序的松散版本在JBoss上配置了一个部署。但是模块" core“也没有被分解,所以我不能在核心的资源上执行热部署。但是:热部署类是可行的。
我已经尝试了对webapp-artifact进行一些修改:在向WEB-INF/classes添加“核心编译输出”时,我的JBoss启动了,但它找不到任何资源。当向没有被jar包围的WEB-INF/lib添加"core编译输出“时,我得到了一堆ClassNotFound异常。
我附加了工件的当前配置:

你知道如何再次热部署我的资源吗?
--编辑
在使用maven打包项目时,web-app/target-folder将所有依赖项都包含为jars。在使用maven-resources- CrazyCoders插件的注释之后,我将以下代码片段添加到web应用程序的pom.xml中:
# 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。或者还有其他原因导致这些资源没有更新?
发布于 2017-04-26 23:07:27
这听起来和我过去几天一直在努力解决的问题很相似。问题是Intellij没有使用Maven来构建模块。它只是在做一个简单的编译。因此,jar不能正确打包。我的解决方法是从lib节点中删除模块的条目,使用Add Copy of | File将其替换为新条目,并将其指向模块的目标文件夹中的jar文件。完成这些工作之后,我还需要在构建war工件之前向配置中添加一个Run Maven目标,以创建一个“干净的包”。
https://stackoverflow.com/questions/42487607
复制相似问题