【问题标题】:How to deploy WAR of Maven Project to JBoss server from Eclipse?如何从 Eclipse 将 Maven 项目的 WAR 部署到 JBoss 服务器?
【发布时间】: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 以运行时,我没有看到任何部署选项。

【问题讨论】:

标签: java eclipse jboss maven war


【解决方案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】:

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

    1. Fedora 14
    2. 适用于 Java EE 的 Eclipse Helios
    3. JBoss 4.2.0-GA

    你还需要

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

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

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

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

    2. 添加新的 Maven 构建

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

    4. 设定目标 --> 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

            【讨论】:

              猜你喜欢
              • 2011-03-11
              • 1970-01-01
              • 1970-01-01
              • 2018-03-22
              • 1970-01-01
              • 2014-05-30
              • 2015-10-20
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多