0
我有一個基於https://netbeans.org/kb/docs/javaee/maven-entapp.html的JEE6 webapp,其結構如下。使用Eclipse WTP部署到Glassfish 3.1.2時,EAR無法啓動
foo
foo/foo-ear
foo/foo-web
foo/foo-ejb
其中頂級項目是聚合器,其他項目分別是ear/war/ejb類型。
我在富耳配置的耳朵插件:運行mvn clean install
時
<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>
一切都建立精細。產生
的application.xml中:
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.
的任何類型的相互作用與:
<?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我看到下面的日誌後嚴重會導致找不到資源。我之前運行過vanilla 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模塊。