0

2つの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

1つのプロジェクトは、最初から作成された単純な動的Webプロジェクトであり、ejbファイルと.xhtmlファイルのみが含まれます。

動的Webプロジェクトに.xhtmlファイルを保存すると、そのファイルはglassfish / domains / domain1 / eclipseAppsの適切な場所にサイレントにコピーされ、変更をすばやくテストできます。

ただし、import-maven-project-wizard(.pomファイルを選択)を使用して作成した他のプロジェクトでは、.xhtmlファイルを保存すると、再構築と再公開がトリガーされ、かなり時間がかかります。どちらの場合も、アプリケーションは完全に正常に実行されます。

(Mavenプロジェクトは、primefaces、一部のglassfish-web.xml persistence.xmlなどを使用した場合もより複雑になります...しかし、これによって異なる動作が発生することはないと思います)

Q:Mavenプロジェクトを動的Webプロジェクトとして動作させるには、どの設定を変更する必要がありますか?

編集:問題の概要:.xhtmlファイルをmavenプロジェクトに保存すると、すべての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-hubを正しく理解していれば、この問題に対するこの修正はまだリリースされていません。

Mavenアーカイバはpom.propertiesの生成を無効にする構成オプションをサポートしています<addMavenDescriptor/>が、m2e-wtpプラグインはこのオプションリンクを尊重しないことを決定したようです

編集(20130114)pom.propertiesの生成を取り除くことで問題が解決するかどうかを確認するために、m2ewtpをアンインストールしてみました。また、編集した.xhtmlファイルがdomains / domain1 /eclipseApps/の下にある新しいタイムスタンプを持つ唯一のファイルであることを確認しました。

だから今、再びアイデアがなくなった。

4

1 に答える 1

0

最終的にこれを解決することができました。これは、新しく作成された Maven プロジェクト (ワークスペース内の別のプロジェクトにも依存していた) に対して必要な最小限の手順でした。

Eclipse プロジェクトのプロパティ > Maven で、「ワークスペース プロジェクトから依存関係を解決する」のチェックを外します。

pom ファイルで、目標の runOnIncremental を設定します: maven-war-plugin の war を 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>
于 2013-03-29T10:34:57.073 に答える