maven jetty - org.mortbay.jetty vs org.eclipse.jetty

时间:2013-03-13 13:17:39

标签: maven jetty

我正在尝试使用jetty来托管一个使用maven的简单helloworld servlet。我很困惑。

我遵循了这些instructions,但是当我发出mvn jetty:run时,我收到以下错误:

[ERROR] No plugin found for prefix 'jetty' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/abc/.m2/repository), central (http://repo.maven.apache.org/maven2)]

令我感到困惑的是,当我在网上搜索示例时,有些人指的是org.mortbay.jetty,有些指的是org.eclipse.jetty。我认为Eclipse版本是最新的,没有?

是否有任何文档描述了maven repo上托管的每个依赖项的含义?以及如何使用它们?

将版本号修改为9.0.0.v20130308后,我收到了另一个错误:

Unable to load the mojo 'run' in the plugin 'org.eclipse.jetty:jetty-maven-plugin:9.0.0.v20130308' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/eclipse/jetty/maven/plugin/JettyRunMojo : Unsupported major.minor version 51.0

这是我更新的pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.neon.research</groupId>
        <artifactId>jetty</artifactId>
        <packaging>war</packaging>
        <version>1.0-SNAPSHOT</version>
        <name>jetty Maven Webapp</name>
        <url>http://maven.apache.org</url>
        <properties>
                <jetty.version></jetty.version>
        </properties>
        <dependencies>
                <dependency>
                        <groupId>org.eclipse.jetty.orbit</groupId>
                        <artifactId>javax.servlet</artifactId>
                        <version>3.0.0.v201112011016</version>
                        <scope>provided</scope>
                </dependency>
        </dependencies>

        <build>
                <plugins>
                        <plugin>
                                <groupId>org.eclipse.jetty</groupId>
                                <artifactId>jetty-maven-plugin</artifactId>
                                <version>9.0.0.v20130308</version>
                        </plugin>
                        <plugin>
                                <artifactId>maven-compiler-plugin</artifactId>
                                <configuration>
                                        <source>1.6</source>
                                        <target>jsr14</target>
                                </configuration>
                                <executions>
                                        <execution>
                                                <id>test-compile</id>
                                                <phase>process-test-sources</phase>
                                                <goals>
                                                        <goal>testCompile</goal>
                                                </goals>
                                                <configuration>
                                                        <source>1.6</source>
                                                        <target>1.6</target>
                                                </configuration>
                                        </execution>
                                </executions>
                        </plugin>
                </plugins>
        </build>
</project>

3 个答案:

答案 0 :(得分:23)

Jetty已经走了很多 - 见History。从2009年开始,Eclipse是最新的主页.Maven工件已经重命名,因此您的搜索正在查找旧版Jetty和maven插件的文档。

最新版本(v9)jetty-maven-plugin documentation将依赖项列为:

<plugin>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>9.0.0.v20130308</version> <!-- latest at time of writing -->
</plugin>

其他库如 jetty-continuation jetty-jsp 只是Jetty项目的子模块。 Jetty 7和8的older wiki上存在一些文档,但我还没有看到任何针对v9更新的内容。模块化设计是Jetty开发人员将他们的代码组织成明确定义的模块,这些模块都是为开发人员单独提供的,他们可能只想使用Jetty的一小部分。

答案 1 :(得分:3)

eclipse版本是最近的版本。按照他们网站上的说明进行操作。

答案 2 :(得分:0)

这是我的工作配置。 使用最新的Jetty版本。

<plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.4.0.v20161208</version>
    <configuration>
        <scanIntervalSeconds>0</scanIntervalSeconds>
        <contextXml>${basedir}/src/it/resources/jetty-context.xml</contextXml>
        <webApp>
            <contextPath>/yourContextPath</contextPath>
        </webApp>
        <contextHandlers>
        <contextHandler implementation="org.eclipse.jetty.webapp.WebAppContext">
            <war>your/path.war</war>
            <contextPath>/yourPath</contextPath>
        </contextHandler>
        </contextHandlers>
        <classesDirectory></classesDirectory>
        <webAppSourceDirectory></webAppSourceDirectory>
    </configuration>
</plugin>