0

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

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

编辑:我还必须添加<pluginGroup>org.mortbay.jetty</pluginGroup>Maven 的 settings.xml 以启动服务器而不会出现错误。

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

4

2 回答 2

1

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

  <project ...>

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

此外,我建议您更新maven-site-plugin,因为您使用的是非常旧的插件。

于 2012-05-01T09:34:51.177 回答
0

根据Jetty尝试启动时写的,我不得不添加MySql依赖。随之HTTP ERROR: 503 SERVICE_UNAVAILABLE消失。

这是pom.xml我添加到使用 Jetty 的项目的 Spring web 模块的一部分(以防万一有人需要它。也许,我可以从这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> 
于 2012-05-01T11:03:37.240 回答