26

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

我按照这些说明进行操作,但是当我发出时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>
4

3 回答 3

23

码头移动了很多 - 见历史。截至 2009 年,Eclipse 是最新的主页。Maven 工件一直在重命名,因此您的搜索正在寻找旧版本的 Jetty 和 maven 插件的文档。

最新的 (v9) jetty-maven-plugin 文档将依赖项列为:

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

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

于 2013-03-13T13:47:13.253 回答
3

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

于 2013-03-13T13:46:30.407 回答
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>
于 2016-12-21T00:05:48.907 回答