在Maven项目中保存xhtml文件时,避免发布EJB和ManagedBeans

时间:2013-01-11 19:26:51

标签: eclipse maven jsf-2 glassfish-3

我已经设置了两个eclipse项目(jsf2 web项目)并通过eclipse将它们部署到glassfish

eclipse juno ee 4.2.1 sr1 (fresh install and new workspace)
maven wtp
m2e
glassfish plugin for eclipse
glassfish 3.1.2.2

一个项目是一个简单的动态Web项目,从头开始创建,只有一个ejb和一个.xhtml文件。

在动态Web项目中保存.xhtml文件时,它将被静默复制到glassfish / domains / domain1 / eclipseApps中的正确位置,以便快速测试更改。

然而,在我使用import-maven-project-wizard(选择.pom文件)创建的其他项目中,保存.xhtml文件将触发重建和重新发布,这需要花费相当多的时间。在这两种情况下,应用程序运行完全正常

(使用primefaces,一些glassfish-web.xml persistence.xml等maven项目也更复杂......但我相信这不会导致不同的行为)

问:我需要更改哪些设置才能使我的maven项目像动态网络项目一样?

编辑: 问题摘要:在maven项目中保存.xhtml文件也会导致重新部署所有EJB和ManagedBeans

编辑(在balus C的提示之后):

调查表明m2e wtp插件会在每次保存工作区中的文件时在以下文件中生成新的时间戳。

target\m2e-wtp\web-resources\META-INF\maven\<groupId>\<artifactId>\pom.properties
target\m2e-wtp\web-resources\META-INF\maven\<groupId>\<artifactId>\pom.xml

如果我理解正确的讨论here,有人已经做了一个修复,如果由于其他maven的东西不需要,将阻止这些文件被更新。遗憾的是,如果我正确理解了git-hub,那么这个问题的解决方案还没有发布。

Maven archiver支持配置选项<addMavenDescriptor/>以禁用pom.properties的生成,但似乎m2e-wtp插件已决定不遵守此选项link

编辑(20130114) 我尝试卸载m2e wtp只是为了看看是否可以解决pom.properties的问题。另外,我检查了我编辑的.xhtml文件是域/ domain1 / eclipseApps /下新文件夹下的唯一文件。

所以现在再次提出想法。

1 个答案:

答案 0 :(得分:0)

终于设法解决了这个问题。这是我需要为新创建的Maven项目执行的最少必需步骤(它还依赖于工作区中的另一个项目)

在eclipse项目属性中&gt; Maven取消选中“从工作区项目中解析依赖项”

在pom文件中设置runOnIncremental为目标:war for maven-war-plugin为false

<build>
    ...
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-war-plugin</artifactId>
                                    <versionRange>[1.0.0,)</versionRange>
                                    <goals>
                                        <goal>war</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <execute>
                                        <runOnIncremental>false</runOnIncremental>
                                    </execute>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>
相关问题