使用IntelliJ IDEA

时间:2017-02-27 13:58:48

标签: java maven intellij-idea

我有一个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。

我附加了工件的当前配置: enter image description here

您是否知道如何再次热部署我的资源?

- 编辑

使用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。或者还有什么其他原因为什么这些资源不会更新?

此致 六甲

1 个答案:

答案 0 :(得分:0)

这听起来类似于我过去几天一直在努力解决的问题。问题是Intellij没有使用Maven来构建模块。它只是做一个简单的编译。因此罐子没有正确包装。我的解决方法是从lib节点中删除模块的条目,使用Add Copy of | new替换它。将文件指向模块目标文件夹中的jar文件。完成后,我还需要在配置中添加一个Run Maven目标来执行一个&#34; clean package&#34;在构建战争神器之前。