使用Jetty运行多模块Maven Web应用程序,HTTP错误:503 SERVICE_UNAVAILABLE

时间:2012-05-01 09:26:10

标签: java eclipse maven jetty

我有一个多模块Maven Web应用程序,我想在Eclipse中使用Jetty运行它。我阅读了几个教程(here is我试图遵循的一个)。

我认为需要做的一切就是在项目的Spring Web模块的pom.xml中添加插件和依赖项,然后在mvn jetty:run的帮助下(再次在Web中) Spring Maven模块)运行应用程序并能够在浏览器中查看结果。所以,第一个问题是:我是否必须做其他事情(例如在web.xml文件中)?

修改: 我还必须在Maven的settings.xml中添加<pluginGroup>org.mortbay.jetty</pluginGroup>以启动服务器而不会出错。

我得到HTTP ERROR: 503 SERVICE_UNAVAILABLE。可能的原因是什么?我是否需要更多依赖项或添加其他内容?提前谢谢。

2 个答案:

答案 0 :(得分:1)

首先,你需要将插件添加到通常的构建部分,而不仅仅是插件管理块。

  <project ...>

    <build>
       <plugins>
          <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
          </plugin>
          ...
       </plugins>
..
    </build>
  </project>

此外,我建议您更新maven-site-plugin,因为您使用的是非常旧的。{/ p>

答案 1 :(得分:0)

根据Jetty试图启动时所写的内容,我不得不添加MySql依赖项。随着它HTTP ERROR: 503 SERVICE_UNAVAILABLE消失了。

以下是我使用Jetty添加的项目的Spring Web模块的pom.xml部分(以防有人需要它。也许,我可以删除此pom.xml的内容部分,我还没有检查过。):

  <build>

      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <!-- Lock down plugin version for build reproducibility -->
          <version>3.0</version>
        </plugin>  

        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.14</version>
            <configuration>
                <connectors>
                    <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                        <port>9090</port>
                        <maxIdleTime>60000</maxIdleTime>
                    </connector>
                </connectors>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
     </plugins>

  </build>

  <properties>
      <org.springframework.version>3.1.0.RELEASE</org.springframework.version>
      <jetty.version>6.1.14</jetty.version>
  </properties>

  <dependencies>
    <!-- In my case Jetty needs this one to run -->   
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.6</version>
    </dependency>        
    <!-- Jetty dependencies -->
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
        <version>${jetty.version}</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-util</artifactId>
        <version>${jetty.version}</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-plus</artifactId>
        <version>${jetty.version}</version>
        <type>jar</type>
    </dependency>
    <!--The 2 following are the jsp support for jetty -->
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-2.1</artifactId>
        <version>${jetty.version}</version>
        <type>jar</type>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-api-2.1</artifactId>
        <version>${jetty.version}</version>
        <type>jar</type>
    </dependency> 
相关问题