あなたが説明するプロセスは非常に一般的です。確かに、maven自体は
ビルド ライフサイクルはフェーズで構成されています
これらのビルド ライフサイクルのそれぞれは、ビルド フェーズの異なるリストによって定義されます。ビルド フェーズは、ライフサイクルのステージを表します。
たとえば、デフォルトのライフサイクルには次のビルド フェーズがあります (ビルド フェーズの完全なリストについては、ライフサイクル リファレンスを参照してください)。
- 検証 - プロジェクトが正しく、必要なすべての情報が利用可能であることを検証します
- コンパイル - プロジェクトのソース コードをコンパイルします。テスト - 適切な単体テスト フレームワークを使用して、コンパイルされたソース コードをテストします。これらのテストでは、コードをパッケージ化またはデプロイする必要はありません
- package - コンパイルされたコードを取得し、JAR などの配布可能な形式でパッケージ化します。
- integration-test - 必要に応じてパッケージを処理し、統合テストを実行できる環境にデプロイします
- verify - チェックを実行して、パッケージが有効であり、品質基準を満たしていることを確認します
- install - 他のプロジェクトの依存関係としてローカルで使用するために、パッケージをローカル リポジトリにインストールします。
デプロイ - 統合またはリリース環境で実行され、他の開発者やプロジェクトと共有するために最終パッケージをリモート リポジトリにコピーします。これらのビルド フェーズ (およびここに表示されていない他のビルド フェーズ) は、デフォルトのライフサイクルを完了するために順次実行されます。上記のビルド フェーズを考えると、デフォルトのライフサイクルが使用される場合、Maven は最初にプロジェクトを検証し、次にソースをコンパイルしてテストに対して実行し、バイナリ (jar など) をパッケージ化し、それに対して統合テストを実行することを意味します。パッケージを検証し、検証済みのパッケージをローカル リポジトリにインストールしてから、インストールされたパッケージを指定された環境にデプロイします。
これらすべてを行うには、実行する最後のビルド フェーズ (この場合はデプロイ) を呼び出すだけです。
mvn デプロイ
maven glassfish pluginを使用してから実行する必要があります
mvn glassfish:deploy
公式ドキュメントの完全なサンプルは次のとおりです。
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.glassfish.maven.plugin</groupId>
<artifactId>maven-glassfish-plugin</artifactId>
<version>2.1</version>
<configuration>
<glassfishDirectory>${glassfish.home}</glassfishDirectory>
<user>${domain.username}</user>
<adminPassword>${domain.password}</adminPassword>
<!-- <passFile>path/to/asadmin/passfile</passFile> -->
<autoCreate>true</autoCreate>
<debug>true</debug>
<echo>false</echo>
<terse>true</terse>
<skip>${test.int.skip}</skip>
<domain>
<name>${project.artifactId}</name>
<adminPort>4848</adminPort>
<httpPort>8080</httpPort>
<httpsPort>8443</httpsPort>
<iiopPort>3700</iiopPort>
<jmsPort>7676</jmsPort>
<reuse>false</reuse>
<jvmOptions>
<option>-Djava.security.auth.login.config=${project.build.testOutputDirectory}/login.conf</option>
</jvmOptions>
<properties>
<property>
<name>server.log-service.file</name>
<value>${domain.log.dir}/server.log</value>
</property>
</properties>
<auth>
<realm>
<name>testRealm</name>
<className>com.sun.enterprise.security.auth.realm.file.FileRealm</className>
<properties>
<property>
<name>jaas-context</name>
<value>test</value>
</property>
<property>
<name>file</name>
<value>${project.build.outputDirectory}/keyfile</value>
</property>
</properties>
</realm>
</auth>
<!-- <resourceDescriptor>path/to/resources.xml</resourceDescriptor> -->
<resources>
<connectionFactory>
<jndiName>jms/testQueueConnectionFactory</jndiName>
<type>queueConnectionFactory</type>
<properties>
<property>
<name>UserName</name>
<value>guest</value>
</property>
<property>
<name>Password</name>
<value>guest</value>
</property>
<property>
<name>AddressList</name>
<value>localhost:7676</value>
</property>
</properties>
</connectionFactory>
<jmsTopic>
<jndiName>jms/testTopic</jndiName>
<destinationName>TestTopic</destinationName>
<connectionFactory>
<jndiName>jms/testTopicConnectionFactory</jndiName>
<properties>
<property>
<name>UserName</name>
<value>guest</value>
</property>
<property>
<name>Password</name>
<value>guest</value>
</property>
<property>
<name>AddressList</name>
<value>localhost:7676</value>
</property>
</properties>
</connectionFactory>
</jmsTopic>
<jdbcDataSource>
<name>SomeDS</name>
<type>connectionPoolDataSource</type>
<poolName>SomePool</poolName>
<className>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</className>
<description>Some JDBC Connection Pool</description>
<allowNonComponentCallers>false</allowNonComponentCallers>
<validateConnections>true</validateConnections>
<validationMethod>metaData</validationMethod>
<properties>
<property>
<name>portNumber</name>
<value>3306</value>
</property>
<property>
<name>password</name>
<value>somePassword</value>
</property>
<property>
<name>user</name>
<value>someUser</value>
</property>
<property>
<name>serverName</name>
<value>some.host.somewhere</value>
</property>
<property>
<name>databaseName</name>
<value>SomeDB</value>
</property>
</properties>
</jdbcDataSource>
</resources>
</domain>
<components>
<component>
<name>${project.artifactId}</name>
<artifact>${project.build.directory}/artifacts/${project.build.finalName}.war</artifact>
</component>
</components>
</configuration>
</plugin>
...
</plugins>
...
</build>
...
</project>