0

以下の構造を持つhttps://netbeans.org/kb/docs/javaee/maven-entapp.htmlに基づく JEE6 webapp があります。

foo
foo/foo-ear
foo/foo-web
foo/foo-ejb

最上位のプロジェクトはアグリゲーターであり、他のプロジェクトはそれぞれ ear/war/ejb タイプです。

foo-ear で ear プラグインを構成しました。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <ejbModule>
                        <groupId>com.foo</groupId>
                        <artifactId>foo-ejb</artifactId>
                    </ejbModule>
                    <webModule>
                        <groupId>com.foo</groupId>
                        <artifactId>foo-web</artifactId>
                    </webModule>
                </modules>
            </configuration>

        </plugin>

を実行すると、すべてが正常にビルドされますmvn clean install

application.xml が生成されます。

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
<display-name>foo-ear</display-name>
<module>
    <ejb>foo-ejb-0.1.0-SNAPSHOT.jar</ejb>
</module>
<module>
    <web>
        <web-uri>foo-web-0.1.0-SNAPSHOT.war</web-uri>
        <context-root>/foo-web</context-root>
    </web>
</module>
<library-directory>lib</library-directory>
</application>

Eclipse で GlassFish 3.1.2 サーバーに ear を追加すると、次のログが表示されます。

INFO: keepstate options resolved to true, saving appId 89891727150219264 for application foo-ear.
INFO: EJB5181:Portable JNDI names for EJB UserService: [java:global/foo-ear/foo-ejb-0.1.0-SNAPSHOT/UserService!com.foo.user.service.UserService, java:global/foo-ear/foo-ejb-0.1.0-SNAPSHOT/UserService]
INFO: foo-ear was successfully deployed in 78 milliseconds.

サーバーとのあらゆる種類の対話は、リソースが見つからないという結果になります。以前にバニラ webapps を実行したことがあり、起動時に JSF/Facelets のログ出力を見たことを思い出します。

他の機会に私は

SEVERE: Exception while deploying the app [foo-ear] : Could not find sub module [foo-web-0.1.0-SNAPSHOT.war] as defined in application.xml

しかし、私は戦争が存在することをターゲットの下で見ることができます.

管理コンソールを使用して手動でデプロイすると、EAR は正しくデプロイされます。m2e-WTP プラグインに何か問題があるのでしょうか? 残念ながら、Webモジュールを認識していないようです。

4

1 に答える 1

0

これに対する解決策が何であったかを明確にするために。

日食を再起動し、問題を解決しました。

于 2013-06-26T13:08:45.470 に答える