【问题标题】:Deploy on JBoss 7 with maven successful, but web-app not running使用 maven 在 JBoss 7 上部署成功,但 web-app 未运行
【发布时间】:2013-12-04 00:53:16
【问题描述】:

我使用 maven 为 JBoss 7 创建了一个 Web 应用程序。在 maven 任务期间,会创建一个战争。这是我的 pom.xml

<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>

<build>
    <plugins>
        <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>7.5.Final</version>
            <configuration>
                <hostname>127.0.0.1</hostname>
                <port>9999</port>
                <name>webAdmin</name>
                <username>administrator</username>
                <password>mypassword</password>
            </configuration>
        </plugin>
    </plugins>
    <finalName>webAdmin</finalName>
</build>

<repositories>
    <repository>
        <id>lightadmin-nexus-releases</id>
        <url>http://lightadmin.org/nexus/content/repositories/releases</url>
        <releases>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </releases>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.4</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.lightadmin</groupId>
        <artifactId>lightadmin</artifactId>
        <version>1.0.0.M2</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.as</groupId>
        <artifactId>jboss-as-arquillian-container-managed</artifactId>
        <version>7.1.1.Final</version>
        <scope>test</scope>
    </dependency>
</dependencies>

这是我为它创建的 web.xml。

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
<display-name>Ifrit Web Administration 1.0</display-name>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

这样webAdmin.war文件就创建好了,如果我手动部署它(也就是说,我去Jboss web控制台并在“管理部署”下部署它)我可以成功看到[http://localhost:8080/webAdmin]下的index.jsp

当我尝试使用 maven mvn jboss-as:deploy 部署它时,问题就来了。

这些是我遵循的步骤:

  1. 取消部署我手动部署的战争
  2. mvn jboss-as:deploy
  3. 转到 Jboss Web 控制台,我确认 war 文件已部署成功(我可以看到它已启用)
  4. 转到 [http://localhost:8080/webAdmin],我得到 404。

我看到过这样的另一个案例,以防有人想将其标记为重复说My web project does not work on JBoss 7 when deployed by maven,但我仍然无法使其工作。我也创建了一个 EAR 文件,一个 jboss-web.xml,它只是没有显示出来。

有没有办法知道 Jboss 分配的上下文根是什么?或者任何提示为什么它在手动部署和使用 maven 部署时有效?

谢谢

亚历杭德罗

【问题讨论】:

  • 日志应该显示上下文名称。虽然我认为既然你把它命名为webAdmin,那应该是上下文名称。
  • 是的,我也是这么想的,但是我尝试了几种组合,都不起作用。真正让我困惑的是,手动部署时我可以正确使用它......奇怪
  • 您好,我也遇到了同样的问题,您能找到解决方案吗?

标签: java maven deployment jboss


【解决方案1】:

显然 JBoss AS 无法识别您已部署的工件的类型。尝试从插件配置中的部署 name 中说清楚:

<plugin>
    <groupId>org.jboss.as.plugins</groupId>
    <artifactId>jboss-as-maven-plugin</artifactId>
    <version>7.5.Final</version>
    <configuration>
        <hostname>127.0.0.1</hostname>
        <port>9999</port>
        ***<name>webAdmin.war</name>***
        <username>administrator</username>
        <password>mypassword</password>
    </configuration>
</plugin>

【讨论】:

    【解决方案2】:

    无论如何我都不是专业人士,但在将我的网络应用程序部署到 jboss 时,我也遇到了各种小问题。

    我不知道您是否在更改代码后刷新 maven 构建,但我发现这有助于安静很多。

    使用 maven 部署通常需要 3 个步骤(来自 JBossDevStudio)。 以“maven clean”运行 作为“maven 生成源”运行 作为“maven build”运行.. 输入运行环境的目标(tomcat:run for tomcat)

    希望对你有帮助!

    【讨论】:

    • 感谢您的帮助,但不幸的是,情况并非如此。我做了很多清理、安装和部署,但结果都是一样的。
    猜你喜欢
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    相关资源
    最近更新 更多