0

我正在修改 I-Jetty(控制台)提供的 WebApp,并希望从 I-Jetty 部署它。WebApp 以前可以工作,但现在从我的浏览器访问时,我收到:

HTTP ERROR: 503

Problem accessing /console. Reason:

Service Unavailable
Powered by Jetty://

注意:我没有收到任何构建错误,并且 WebApp 已很好地安装到 I-Jetty。我正在使用 jdk1.6.0_45 并安装了 Maven3.0.5

我的 POM.xml 是:

<?xml version="1.0" encoding="UTF-8"?>
<project
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.mortbay.ijetty</groupId>
  <artifactId>console-parent</artifactId>
  <packaging>pom</packaging>
  <version>3.2-SNAPSHOT</version>
  <name>I-Jetty :: Console Parent</name>
  <description>Parent project for console</description>
  <modules>
    <module>webapp</module>
    <module>apk</module>
  </modules>
  <properties>
     <android.version>4.1.1.4</android.version>
     <jetty.version>8.1.11.v20130520</jetty.version>
     <servlet.version>3.0.20100224</servlet.version>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>2.4</version>
      </plugin>
    </plugins>
  </build>
</project>

你能帮我理解为什么会发生这种情况并提出修复建议吗?

编辑:我发现了问题。仍然没有解决办法。

在将 webapp 安装到 I-Jetty 期间未创建 classes.zip 文件。当我手动将类复制到安装 webapp 时创建的 jetty/webapps/console/web-inf/classes 文件夹中时,来自浏览器的访问工作......我不确定为什么没有创建 zip 文件。

4

1 回答 1

0

我最终在这个问题中回答了我自己的问题:How to compile a .war file to i-jetty (android web server)? ,并将其发布在此处以供遇到相同错误的其他人使用:

所以基本上正如 i-jetty 官方网站所说,你需要在你的 pom.xml 中包含 3 件事,在网站https://code.google.com/p/i-jetty/wiki/DownloadableWebapps监听。现在,仅包含这三个您将面临的问题是,在较新的 Android 版本(android-maven-plugin)上,您将面临部件问题。因此,您需要添加以下内容以启用正确执行(在关闭 plugins 元素之后添加它,并在关闭构建元素之前添加它( <./plugin> ADD IT HERE <./build> ,不带点):

<pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.eclipse.m2e</groupId>
      <artifactId>lifecycle-mapping</artifactId>
      <version>1.0.0</version>
      <configuration>
        <lifecycleMappingMetadata>
          <pluginExecutions>
            <pluginExecution>
              <pluginExecutionFilter>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <versionRange>[2.0,)</versionRange>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
              </pluginExecutionFilter>
              <action>
                <execute />
              </action>
            </pluginExecution>
          </pluginExecutions>
        </lifecycleMappingMetadata>
      </configuration>
    </plugin>
  </plugins>
</pluginManagement>

现在,当您运行 maven 构建时,您将在 your_application/target/res-overlay/raw 文件夹中生成所需的 your_webapp.war 文件。将 your_webapp.war 文件复制到 your_application/res/raw 文件夹中。现在再次运行 Maven 构建。你有它!!现在可以正确构建 web 应用程序了 :) 并且您将不再收到错误 503 消息。

于 2013-08-25T21:27:51.627 回答