短版:Maven的Maven的GlassFish的-插件在多設置
我想maven-glassfish-plugin
在以分層根項目(基於繼承)Maven的多重設置纔可以執行。
長版:
以下設置:
project-root
|
+-pom.xml
|
+ ear-module
| |
| +-pom.xml
|
+ jar-module
|
+-pom.xml
所有子模塊通過<modules>...</modules>
包含在項目根和所有子繼承根項目的pom.xml。 在我的根項目的pom我包括maven-glassfish-plugin
:
...
<plugin>
<groupId>org.glassfish.maven.plugin</groupId>
<artifactId>maven-glassfish-plugin</artifactId>
<version>2.1</version>
<inherited>false</inherited>
<configuration>
<glassfishDirectory>${glassfish.home}</glassfishDirectory>
<passwordFile>${glassfish.home}/masterpassword.txt</passwordFile>
<domain>
<name>${project.name}</name>
<adminPort>4848</adminPort>
<httpPort>8080</httpPort>
<httpsPort>8443</httpsPort>
<iiopPort>3700</iiopPort>
<jmsPort>7676</jmsPort>
</domain>
<components>
<component>
<name>poc.vermittler</name>
<artifact>${project.basedir}/ear-module/target/ear-project-1.0-SNAPSHOT.ear</artifact>
</component>
</configuration>
</plugin>
...
(注意:這只是我的POM的一個簡化版本,它可能無法運行:)
我只想部署ear-module
模塊添加到glassfish中,這就是爲什麼我添加了<inherited>false</inherited>
部分的原因,並在根目錄中描述了要部署爲<components>...</components>
的模塊。
現在命令:
mvn glassfish:deploy
將部署耳朵Glassfish的,一切安好那麼遠,但隨後Maven會體面的遞歸所有子模塊,這都將失敗,並:
No plugin found for prefix 'glassfish' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories
我可以告訴maven只運行帶有-pl
選項的根項目,但爲了我的喜好,部署不應該依賴這些附加信息。
非常感謝您的幫助!