如何使用Maven将.war文件部署到JBoss AS 7服务器?

时间:2013-06-28 04:27:51

标签: maven jboss

我有“pom.xml”文件,它连接到maven并检查代码并创建war文件。现在我必须将创建的war文件部署到JBoss Application Server 7.下面是我的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org /2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0             http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.mycompany.deploy</groupId>
   <artifactId>deploy-app</artifactId>
   <packaging>war</packaging>
   <version>0.0.1-SNAPSHOT</version>
   <name>deploy-app Maven Webapp</name>
   <url>http://maven.apache.org</url>
   <scm>
      <connection>scm:svn:http://d-113017553/svn/PRONTO/trunk/dev</connection>
      <developerConnection>scm:svn:http://d-113017553/svn/PRONTO/trunk           /dev</developerConnection>
      <url>http://d-113017553/svn/PRONTO/trunk/dev</url>
   </scm>
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
         <scope>test</scope>
      </dependency>
   </dependencies>
   <build>
      <finalName>deploy-app</finalName>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <version>1.8.1</version>
            <configuration>
               <connectionType>connection</connectionType>
               <username>keerthana</username>
               <password>keerthana</password>
               <checkoutDirectory>${project.basedir}/co/src</checkoutDirectory>
               <workingDirectory>${project.basedir}/co/src</workingDirectory>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.2.2</version>
            <configuration>
               <releaseProfiles>release</releaseProfiles>
               <goals>scm:checkout</goals>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>7.3.Final</version>
            <configuration>
               <jboss_Home>D:\Workspace\deploy-app\target</jboss_Home>
               <serverName>default</serverName>
               <fileName>target/deploy-app.war</fileName>
            </configuration>
         </plugin>
      </plugins>
   </build>
</project>

请告诉我将war文件部署到Jboss服务器的步骤。

2 个答案:

答案 0 :(得分:7)

首先,使用bin/add-user.sh添加管理用户。

然后,将其存储到settings.xml中。

<profiles>

    <profile>
        <id>myproject-prod<id>
        <activation><activeByDefault>true</activeByDefault></activation>
        <properties>
            <myproject.deploy.pass.prod>mySecretPassword</myproject.deploy.pass.prod>
        </properties>
    </profile>

</profiles>

然后,配置pom.xml

<properties>
    <jboss-as.deploy.hostname>localhost</jboss-as.deploy.hostname>  <!-- Where to deploy. -->
    <jboss-as.deploy.user>admin</jboss-as.deploy.user>
    <jboss-as.deploy.pass>${myproject.deploy.pass.prod}</jboss-as.deploy.pass>
    <plugin.war.warName>${project.build.finalName}</plugin.war.warName>
</properties>

...

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
                <warName>${plugin.war.warName}</warName>
            </configuration>
        </plugin>            

        <!-- JBoss AS plugin to deploy the war. -->
        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>7.4.Final</version>
            <configuration>
                <force>true</force>
                <hostname>${jboss-as.deploy.hostname}</hostname>
                <username>${jboss-as.deploy.user}</username>
                <password>${jboss-as.deploy.pass.prod}</password>
                <fileNames>
                    <fileName>target/${plugin.war.warName}.war</fileName>
                </fileNames>
            </configuration>
        </plugin>
    </plugins>

然后简单地......

mvn clean deploy;

这可以从一个JBoss项目中减少,可能包含拼写错误,但应该有效。

答案 1 :(得分:0)

  • 首先,使用bin / add-user.sh添加管理用户(admin / 1234)。

  • 第二次添加到pom.xml:

    <build>     
    <plugins>       
        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>7.5.Final</version>
            <configuration>
                <hostname>localhost</hostname>
                <port>9999</port>
                <name>app_name.war</name>
                <username>admin</username>
                <password>1234</password>
            </configuration>
        </plugin>
    </plugins>
    

  • 三:编辑JBoss_Home / standalone / configuration / standalone.xml将IP地址更改为0.0.0.0: enter image description here

  • 四,使用#clean install jboss-as:redeploy进行部署 enter image description here