如何从 Eclipse 将 Maven 项目的 WAR 部署到 JBoss 服务器?

Posted

技术标签:

【中文标题】如何从 Eclipse 将 Maven 项目的 WAR 部署到 JBoss 服务器?【英文标题】:How to deploy WAR of Maven Project to JBoss server from Eclipse? 【发布时间】:2011-08-16 02:24:24 【问题描述】:

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

编辑:我添加了

<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 以运行时,我没有看到任何部署选项。

【问题讨论】:

对于那些在这里磕磕绊绊的人......使用官方jboss-as-maven-plugin 【参考方案1】:

您可以右键单击 pom.xml 文件并选择Run As -> Maven Build。将构建目标设置为clean package。完成后进入项目的目标目录,右键单击战争并按照您当前的操作导出。

编辑:

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

【讨论】:

Run As->Maven install 构建项目并将 WAR 放入目标文件夹,我可以手动将其复制粘贴到 JBoss,但我说的是自动部署到 JBoss。 pom.xml可以吗? 对不起,我误解了你的问题。现在将编辑我的答案 我编辑了我的问题以提供有关 jboss-maven-plugin 的更多信息。【参考方案2】:

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

【讨论】:

【参考方案3】:

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

    Fedora 14 适用于 Java EE 的 Eclipse Helios JBoss 4.2.0-GA

你还需要

    在系统中安装 maven 在你的 Eclipse 中安装 m2eclipse 插件

现在您可以开始创建项目了。

    打开 Eclipse->选择您的工作区 设置服务器。设置服务器
      转到窗口->显示视图->服务器 右键单击服务器窗格,选择新建->服务器 从打开的窗口中选择JBoss->JBoss v4.2 点击下一步 浏览应用程序服务器目录,即 JBoss 所在的文件系统中的位置。 点击完成
    新建一个Dynamic Web Project,创建项目
      进入File->New->Project,选择Web节点下的Dynamic Web Project 点击下一步 给项目名称 从目标运行时选择 JBoss v4.2 点击下一步两次 您将需要 web.xml,因此请确保在最后一页中选中“生成 web.xml 部署描述符”。 单击完成,Eclipse 将为您创建一个动态 Web 项目
    现在您需要为创建的项目启用 Maven 依赖管理。去做这个
      右键单击项目名称 选择 Maven->启用依赖管理 将打开一个用于创建 POM 的窗口 从包装下拉菜单中选择战争 点击完成,您的 pom.xml 将被创建
    它会弄乱你的构建路径。要解决这个问题
      右键单击项目名称并转到属性 从左侧窗格中选择 Java 构建路径 转到“库”选项卡 编辑 JRE 系统库。编辑系统库
        选择JRE System Library并点击右侧的Edit按钮 从下拉菜单中选择执行环境 JavaSE-1.6 点击完成
      转到源选项卡
        点击添加文件夹 选择源 点击确定,您的项目就准备好了
    现在添加一些源文件,配置 web.xml 和 pom.xml 并将其作为 WAR 导出到 JBoss 服务器。部署它
      首先将所有需要的jar包复制到WEB-INF中的lib文件夹中 每当您向 pom.xml 添加依赖项时,Mavan 都会下载所需的 jar 并添加到您的项目中。您可以通过展开节点 Project->Java Resource->Libraries->Maven Dependencies 查看这些 jar。每个 jar 文件旁边都给出了 jar 的路径。它通常位于 /.m2/repository 中。您可以将这些文件复制到上述 lib 文件夹中。 现在右键单击项目名称 选择导出->WAR 文件 在目标中浏览到您的服务器的路径 点击Finish,它将把WAR文件部署到JBoss服务器中。

注意:您的 WAR 的 jar 与 JBoss 的 lib 的 jar 有一些重叠的可能性。然后你应该采取适当的行动。就像从您的 WAR 中删除 jar(如果您的 jar 版本与 JBoss 的版本相同或更低)或替换 JBoss 的 jar 并从您的 WAR 中删除该 jar(如果您的 jar 版本高于 JBoss 的版本)。在做任何事情之前我应该​​小心并收集好知识。

谢谢。

【讨论】:

在 juno 4-2 变成了 select configure->convert to maven project。 ***.com/questions/10362166/… Select Export-&gt;WAR file: 反正我可以单独通过 maven 做到这一点? @Mr_and_Mrs_D 你可以设置你的maven构建的目标路径指向服务器的部署目录。 谢谢,但恐怕这不完全是便携的 - 还有其他解决方案吗? @Mr_and_Mrs_D 如果你正在使用JBoss,请检查maven jboss插件是否可以帮助你。【参考方案4】:

假设

我假设您已经为 Maven 安装了 Eclipse 插件。

安装

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

运行 Jboss

    转到运行 --> 运行配置..

    添加新的 Maven 构建

    为进程命名,选择将部署为war的基本目录

    设定目标 --> jboss:start

按照这些步骤,您可以通过 Eclipse 部署所有内容。

玩得开心。 :)

【讨论】:

【参考方案5】:

正确的格式是:

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

【讨论】:

【参考方案6】:

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

干净安装 jboss:hard-deploy

【讨论】:

【参考方案7】:

如果它是一个 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>

在你的 Eclipse 运行配置中,你为目标所做的配置:jboss-as:deploy

当然我是在说她关于 Jboss AS7 或 EAP6

【讨论】:

它将如何识别服务器(如果我有多个)?【参考方案8】:

只需将以下插件添加到 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 来执行上述目标。

第一步:点击运行配置。

第 2 步:创建一个新的 Maven 构建

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

更多选项可以在

找到

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

【讨论】:

【参考方案9】:
<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>

这里&lt;outputDirectory&gt;"包含Jboss中部署文件夹的地址"&lt;/outputDirectory&gt; 将给定的代码相应地放入pom.xml

【讨论】:

以上是关于如何从 Eclipse 将 Maven 项目的 WAR 部署到 JBoss 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

将 Maven 项目从 Eclipse 导入 Android Studio

如何使用eclipse maven构建hbase开发环境

Maven如何将别人的项目导入到自己的eclipse并使用

eclipse如何从svn上导出maven工程

eclipse如何导入guava项目???

eclipse maven项目如何将所有的jar包复制到lib目录下?