如何从Eclipse部署Maven Project的WAR到JBoss服务器?

时间:2011-04-30 14:58:17

标签: java eclipse jboss maven war

我想将Maven项目的WAR部署到JBoss服务器。我知道从Eclipse Export-> War将WAR文件部署到JBoss。但我怎样才能为Maven Project做到这一点。任何分步信息或有用的网站链接对我都非常有帮助。谢谢。

编辑:我已添加

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jboss-maven-plugin</artifactId>
<version>1.5.0</version>
<configuration>
    <jbossHome>/home/tanmoy/Jboss</jbossHome>
    <serverName>all</serverName>
    <fileName>target/LoginExample-1.0.war</fileName>
</configuration>
</plugin>

到我的pom.xml并再次作为maven项目导入,但右键单击pom.xml进行Run As我没有看到任何部署选项。

9 个答案:

答案 0 :(得分:19)

我找到了解决方案并且我正在分享,因为它可能对某人有帮助。 我的配置是:

  1. Fedora 14
  2. Eclipse Helios for Java EE
  3. JBoss 4.2.0-GA
  4. 你还需要

    1. 在系统中安装maven
    2. 在Eclipse中安装m2eclipse插件
    3. 现在您已准备好开始创建项目。

      1. 打开Eclipse-&gt;选择您的工作区
      2. 设置服务器。设置服务器
        1. 进入Window-&gt; Show View-&gt; Servers
        2. 右键单击服务器窗格,选择New-&gt; Server
        3. 从打开的窗口中选择JBoss-&gt; JBoss v4.2
        4. 点击下一步
        5. 浏览Application Server Directory,即JBoss所在文件系统中的位置。
        6. 点击完成
      3. 创建一个新的动态Web项目,以创建项目
        1. 转到文件 - &gt;新建 - &gt;项目,选择网络节点下的动态网络项目
        2. 点击下一步
        3. 提供项目名称
        4. 从目标运行时
        5. 中选择JBoss v4.2
        6. 点击两次下一步
        7. 您将需要web.xml,因此请确保在最后一页中选中“生成web.xml部署描述符”。
        8. 单击Finish,Eclipse将为您创建一个Dynamic Web Project
      4. 现在您需要为已创建的项目启用Maven依赖关系管理。去做这个
        1. 右键单击项目名称
        2. 选择Maven-&gt;启用依赖关系管理
        3. 将打开一个窗口以创建POM
        4. 从包装下拉菜单中选择战争
        5. 单击“完成”,将创建您的pom.xml
      5. 它会弄乱你的构建路径。要解决这个问题
        1. 右键单击项目名称,然后转到属性
        2. 从左侧窗格中选择“Java Build Path”
        3. 转到“库”选项卡
        4. 编辑JRE系统库。编辑系统库
          1. 选择JRE系统库,然后单击右侧的<编辑按钮
          2. 从下拉菜单中选择执行环境JavaSE-1.6
          3. 点击完成
        5. 转到“来源”标签
          1. 点击添加文件夹
          2. 选择src
          3. 单击“确定”,您的项目已准备就绪
      6. 现在添加一些源文件,配置web.xml和pom.xml,并将其作为WAR导出到JBoss服务器。部署它
        1. 首先将所有必需的jar复制到WEB-INF
        2. 中的lib文件夹
        3. 每当您向pom.xml添加依赖关系时,Mavan将下载所需的jar并添加到您的项目中。您可以通过扩展节点Project-&gt; Java Resource-&gt; Libraries-&gt; Maven Dependencies来查看这些jar。每个jar文件旁边都有路径到jar的路径。它通常驻留在/.m2/repository中。您可以将这些文件复制到上述的lib文件夹中。
        4. 现在右键单击项目名称
        5. 选择导出 - > WAR文件
        6. 在目标中浏览服务器的路径
        7. 单击Finish,它将WAR文件部署到JBoss服务器。
      7. 注意:有一些可能会将WAR的jar重叠在JBoss的lib的jar中。然后你应该采取适当的行动。就像从你的WAR中删除jar(如果jar的版本与JBoss的版本相同或更低)或者替换JBoss的jar并从WAR中删除那些jar(如果是你的jar版本高于JBoss的版本)。我应该小心这一点,并在做任何事情之前收集好知识。

        谢谢。

答案 1 :(得分:5)

您可以右键单击pom.xml文件,然后选择Run As - &gt; Maven Build。将构建目标设置为clean package。完成后,进入项目的目标目录,右键单击war并导出当前正在执行的操作。

编辑:

要在pom.xml中执行此操作,请使用jboss maven插件:http://mojo.codehaus.org/jboss-maven-plugin/examples/deploy-undeploy-examples.html

答案 2 :(得分:3)

正确的格式是:

<fileName>${basedir}/target/webapp.war</fileName>

答案 3 :(得分:3)

只需将下面的插件添加到POM.xml就可以了。

<build>
    ...
    <plugins>
        ...
        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>7.9.Final</version>
        </plugin>
        ...
    </plugins>
    ...
</build>

使用命令提示符可以部署或取消部署工件。

  mvn jboss-as:redeploy
  mvn jboss-as:undeploy

注意:上述选项使用http://localhost:9999 url将工件部署到服务器。在执行命令之前,Jboss服务器应该在后台运行。

也可以使用eclipse来执行上述目标。

步骤1:单击运行配置。 enter image description here

第2步:创建一个新的Maven Build enter image description here

第3步:更新构建详细信息,如图所示。 enter image description here

可以在

找到更多选项

https://docs.jboss.org/jbossas/7/plugins/maven/latest/examples/deployment-example.html

答案 4 :(得分:2)

<强>假设

我假设你已经为eclipse安装了Maven的插件。

<强>安装

在项目资源管理器中选择项目时选择       运行 - &gt;运行方式 - &gt; Maven安装

运行Jboss

  1. 转到“运行” - &gt;运行配置..

  2. 添加新的Maven Build

  3. 为进程命名,选择将部署为战争的基本目录

  4. 设置目标 - &gt; JBoss的:启动

  5. 通过遵循这些步骤,您可以通过Eclipse部署所有内容。

    玩得开心。 :)

答案 5 :(得分:2)

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <id>copy-war</id>
                <phase>install</phase>
                <goals>
                    <goal>copy</goal>
                </goals>
                <configuration>
                    <artifactItems>
                        <artifactItem>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>${project.artifactId}</artifactId>
                            <version>${project.version}</version>
                            <type>${project.packaging}</type>
                            <overWrite>true</overWrite>
                            <outputDirectory>C:\jboss-as-7.1.1.Final_AMGEN\jboss-as-7.1.1.Final\standalone\deployments</outputDirectory>
                            <destFileName>${project.build.finalName}.${project.packaging}</destFileName>
                        </artifactItem>
                    </artifactItems>
                </configuration>
            </execution>
        </executions>
    </plugin>

此处<outputDirectory>“包含Jboss中部署文件夹的地址”</outputDirectory> 将相应的代码放在pom.xml

答案 6 :(得分:1)

http://cargo.codehaus.org/Maven2+plugin可能是一个不错的选择。

答案 7 :(得分:1)

如果它是maven应用程序(EAR)或(JAR)或者什么,你只需要添加到你的pom.xml:

        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <configuration>
                <filename>${artifactId}-${project.version}.ear</filename>
                <port>9999</port> <!-- you change it following what you have on your server config -->
            </configuration>
        </plugin>

在您的日食运行配置中,您可以实现目标:jboss-as:deploy

当然我在谈论她关于Jboss AS7或EAP6

答案 8 :(得分:0)

使用以下目标在Jboss文件夹中部署战争

clean install jboss:hard-deploy