首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用IntelliJ IDEA部署可分解的多模块项目

使用IntelliJ IDEA部署可分解的多模块项目
EN

Stack Overflow用户
提问于 2017-02-27 21:58:48
回答 1查看 1.8K关注 0票数 1

我有一个打包类型为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中:

代码语言:javascript
复制
# 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位于以下位置:

代码语言:javascript
复制
1. web-app/target/classes/app/search/search.xhtml
2. web-app/target/<finalName>/WEB-INF/classes/app/search/search.xhtml

装在下面的罐子里:

代码语言:javascript
复制
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。或者还有其他原因导致这些资源没有更新?

EN

回答 1

Stack Overflow用户

发布于 2017-04-26 23:07:27

这听起来和我过去几天一直在努力解决的问题很相似。问题是Intellij没有使用Maven来构建模块。它只是在做一个简单的编译。因此,jar不能正确打包。我的解决方法是从lib节点中删除模块的条目,使用Add Copy of | File将其替换为新条目,并将其指向模块的目标文件夹中的jar文件。完成这些工作之后,我还需要在构建war工件之前向配置中添加一个Run Maven目标,以创建一个“干净的包”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42487607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档