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

Eclipse 在Maven项目中保存xhtml文件时,避免发布EJB和ManagedBeans,eclipse,maven,jsf-2,glassfish-3,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文件时,它将以静默方式复制到gla

我已经设置了两个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中的正确位置,以便快速测试更改

然而,在我使用ImportMaven项目向导创建的另一个项目中,选择一个.pom文件,保存一个.xhtml文件将触发重建和重新发布,这需要花费相当多的时间。在这两种情况下,应用程序都运行良好

maven项目使用primefaces、一些glassfish-web.xml persistence.xml等也更加复杂。。。但我相信这并没有导致不同的行为

问:我需要更改什么设置才能使我的maven项目表现为动态web项目

编辑: 问题摘要:在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
如果我正确理解了讨论内容,那么有人已经做了一个修复,如果由于其他maven内容而不需要更新这些文件,那么将阻止这些文件被更新。遗憾的是,如果我正确理解git集线器,这个问题的修复程序还没有发布

支持配置选项

编辑20130114 我试图卸载m2e wtp,只是想看看摆脱pom.properties的生成是否可以解决这个问题。我还检查了我编辑的.xhtml文件是否是domains/domain1/eclipseApps/下唯一具有新时间戳的文件


所以现在我又没主意了。

终于解决了这个问题。这是我为一个新创建的Maven项目所需的最少步骤,该项目还依赖于工作区中的另一个项目

在eclipse项目属性>Maven中,取消选中从工作区项目解析依赖项

在pom文件中,将RunoninIncrement for The goal: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>

我不使用Maven,但您是否已关闭服务器配置中的发布?双击“服务器”视图中“发布”部分下的“服务器”条目,选择“从不自动发布?”?非Maven项目就是这样。我对这两个项目都有相同的服务器设置,如果我将其更改为从不自动发布,.xhtml文件在保存时不再以静默方式复制到eclipseApps。我想您已经关闭了Eclipse的“自动生成”选项。您还应该关闭xml xhtml文件的自动验证。事实上,Maven和WTP看起来都没有问题,因为项目正在正确部署。不,自动构建是启用的。我没有对这两个项目进行任何特定设置。在导入maven.pom和创建动态web项目之前,只安装了上面列出的插件。我不再理解您的具体问题。发布正是将更改从生成文件夹复制到部署文件夹的步骤。如果您想关闭发布,但仍然想复制更改,那么您基本上自相矛盾。