首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Intellij: jboss-ejb3.xml条目不断从${PROJECT_DIR}/.idea/artifacts/XXX_war_exploded.xml中消失

Intellij: jboss-ejb3.xml条目不断从${PROJECT_DIR}/.idea/artifacts/XXX_war_exploded.xml中消失
EN

Stack Overflow用户
提问于 2013-01-23 21:18:47
回答 2查看 567关注 0票数 0

为什么,尽管我

  1. 在我的项目的EJB中设置JBoss部署描述符的正确路径
  2. jboss-ejb3.xml添加到Intellij的工件Patrac-web:war爆炸式的/WEB

每当我对pom.xml做最简单的更改时,Intellij就会从${PROJECT_DIR}/.idea/artifacts/Patrac_web_war_exploded.xml中删除以下条目

代码语言:javascript
复制
<element id="file-copy" path="$PROJECT_DIR$/Patrac-ejb/src/main/resources/META-INF/jboss-ejb3.xml" />

因此,jboss-ejb3.xml不会被复制到目标目录中?

好像每次我对pom.xml进行更改时,都会使用POM“重新加载”部署配置,以覆盖我在IDE中所做的设置。也许是因为我的pom.xml中没有将jboss-ejb3.xml从源目录复制到目标目录的条目,所以每当Intellij“重新加载”时,我在Intellij中所做的设置就会不断消失。这纯粹是我的猜测,但这似乎是正在发生的事情。

如果是这样的话,我需要对pom.xml做什么更改才能使这种情况停止发生?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-06 08:17:37

当从Maven IDEA导入项目时,它的配置方式是这样的:当您从IDEA调用'Build‘时,它会产生与Maven 'package’目标相同的结果。如果您需要将jboss-ejb3.xml复制到WEB,只需将其放在‘src/main/webapp/WEB’目录下,Maven就会复制它,IDEA也会复制它。

票数 2
EN

Stack Overflow用户

发布于 2013-02-06 20:35:04

这里是我尝试过的Nik解决方案的另一种选择,因为我希望将jboss-ejb3.xml留在META中。查看一下maven文档展示了如何将jboss-ejb3.xml作为web资源并将其复制到WEB中,我在maven-war插件配置中添加了以下内容,问题得到了解决。嗯,算是吧。但不是真的。

代码语言:javascript
复制
<webResources>
    <resource>
        <directory>../Patrac-ejb/src/main/resources/META-INF</directory>
        <includes>
            <include>jboss-ejb3.xml</include>
        </includes>
        <targetPath>WEB-INF</targetPath>
    </resource>
</webResources>

虽然这样做消除了修改IDEA方面配置设置的需要(因为Maven被配置为复制文件,而不是IDEA),但是引入了一个新的问题: WAR中出现了两个jboss-ejb3.xml副本,一个在WEB中,另一个在EJB中(在META中)。虽然没有明显的结果(应用程序运行得很好),但我还是不希望在EJB中有一个描述符的副本。

使用Maven EJB插件文档,我尝试在maven-ejb插件配置中添加一个排除。

代码语言:javascript
复制
<configuration>
    <ejbVersion>3.1</ejbVersion>
    <excludes>
        <exclude>**/jboss-ejb3.xml</exclude>
    </excludes>
</configuration>

这本应阻止jboss-ejb3.xml的重复副本出现在EJB元INF中,但它对我来说不起作用,而且在谷歌搜索了"maven-ejb-plugin“的各种变体后,我放弃了。

如果我可以让排除生效,那么我会更喜欢这个解决方案,而不是将jboss-ejb3.xml迁移到src/main/webapp/webapp,因为尽管这个解决方案稍微复杂一些(它需要在两个POMs中增加Maven配置设置),但与EJB相关的描述符将保留在EJB模块中。

我决定用Nik的解决方案,直到我能解决排除的问题。

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

https://stackoverflow.com/questions/14489557

复制
相关文章

相似问题

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