使用 maven-deploy-plugin
另一個非常有趣的話題是組裝包的自動部署。假設我們使用 Maven 構建了自己的庫。我們如何自動將其推送到本地、公司或中央 Maven 存儲庫?
Maven 為此有一個特殊的maven-deploy-plugin插件。例子:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
<configuration>
<file>${project.build.directory}\${project.artifactId}-src.zip</file>
<url>${project.distributionManagement.repository.url}</url>
<repositoryId>${project.distributionManagement.repository.id}</repositoryId>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<packaging>zip</packaging>
<pomFile>pom.xml</pomFile>
</configuration>
</plugin>
通過這些設置,您可以將構建的庫作為有效包推送到 Maven 存儲庫。我們不會詳細分析這個過程,而是簡單地考慮一下這裡發生了什麼:
文件標籤指定一個文件,該文件將作為新庫推送到 Maven 存儲庫。
url標記是 Maven 存儲庫的路徑(local/corporate/...)。
repositoryId標記指定將進行部署的存儲庫的標識符。
groupId、artifactId、version標籤定義了 Maven 存儲庫中的標準包標識。正是通過這三個參數,一個庫才能被唯一地識別。
打包標籤用於確保結果作為單個 zip 文件發送。如果您不指定它,那麼將有一個 jar 文件,即使您有多個 jar 文件。
pomFile標記是可選的,它允許您將另一個 pom.xml 發送到不包含隱藏或開銷數據的存儲庫。
使用 Maven 將 Web 應用程序部署到 Tomcat
Java Web 應用程序最流行的 Web 服務器是Apache Tomcat。當然,在 Maven 的幫助下,您可以將 war 文件直接部署到本地甚至遠程 Tomcat 服務器。
稍後我們將學習如何安裝和配置 Tomcat,但現在我們只涉及自動部署 Web 應用程序的主題。
步驟1。我們需要授予 Maven 訪問 Tomcat 服務器的權限。為此,打開Apache Tomcat 解壓目錄中的conf/tomcat-users.xml文件並添加manager-gui和manager-script角色:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script" />
</tomcat-users>
第二步。允許 Maven 訪問 Tomcat。為此,打開$MAVEN_HOME/conf/settings.xml文件並添加服務器:
<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
<servers>
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
</settings>
第三步。我們添加了一個特殊的插件,用於將我們的應用程序自動部署到 Apache Tomcat。該插件稱為tomcat7-maven-plugin。順便說一下,它不是由 Maven 開發人員創建的,而是由 Tomcat 開發人員創建的,正如您可以從名稱中猜到的那樣。
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<path>/simpleProject</path>
</configuration>
</plugin>
</plugins>
</build>
在配置部分,指定:
- url是tomcat運行的地址和manager/text的路徑
- 服務器- 來自settings.xml文件的服務器 ID
- path - 部署的應用程序可用的地址
部署管理命令:
mvn tomcat7:部署 | 將應用程序部署到 Tomcat |
---|---|
mvn tomcat7:取消部署 | 從 Tomcat 中刪除應用程序 |
mvn tomcat7:重新部署 | 重新部署應用 |
使用 Cargo 插件部署
另一個用於部署 Web 應用程序的有用且通用的插件是Cargo 插件。他知道如何使用不同類型的網絡服務器。以下是如何在 Apache Tomcat 中使用它進行部署:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.9.10</version>
<configuration>
<container>
<containerId>tomcat8x</containerId>
<type>installed</type>
<home>Insert absolute path to tomcat 7 installation</home>
</container>
<configuration>
<type>existing</type>
<home>Insert absolute path to tomcat 7 installation</home>
</configuration>
</configuration>
</plugin>
</plugins>
</build>
要在本地 Tomcat 上安裝 Web 應用程序,您只需運行以下命令:
mvn install
mvn cargo:deploy
如果我們要部署到遠程 Web 服務器,那麼我們將必須設置對此服務器的訪問權限。為此,您只需要在pom.xml中註冊它們:
<configuration>
<container>
<containerId>tomcat8x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>admin</cargo.remote.username>
<cargo.remote.password>admin</cargo.remote.password>
<cargo.tomcat.manager.url>http://localhost:8080/manager/text</cargo.tomcat.manager.url>
</properties>
</configuration>
</configuration>
使用 IntelliJ IDEA 進行部署
Intellij IDEA 自己完成所有工作,您只需要安裝Tomcat即可。
步驟1。創建本地 Tomcat 配置:
第二步。然後選擇本地的Tomcat:
第三步。配置 Tomcat:
第四步。添加 Tomcat 文件夾的路徑。
第五步。我們將項目作為工件添加到 Tomcat。
為此,轉到部署選項卡並單擊右側的+按鈕。
就這樣。
對了,如果需要部署到遠程服務器,第二步選擇Remote Tomcat即可。
GO TO FULL VERSION