webentwicklung-frage-antwort-db.com.de

maven jetty - org.mortbay.jetty gegen org.Eclipse.jetty

Ich versuche, Anlegestelle zu verwenden, um ein einfaches helloworld-Servlet mit Maven zu hosten. Ich bin sehr verwirrt.

Ich habe diese Anweisungen befolgt , aber wenn ich mvn jetty:run ausstelle, erhalte ich die folgende Fehlermeldung:

[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)]

Wenn ich im Web nach Beispielen suche, verweisen einige auf org.mortbay.jetty und andere auf org.Eclipse.jetty. Ich dachte, dass die Eclipse-Version die neueste ist, nein?

Gibt es eine Dokumentation, die beschreibt, welche Abhängigkeiten von maven repo gemeint sind? Und wie können sie verwendet werden?

Nachdem ich die Versionsnummer in 9.0.0.v20130308 geändert habe, erhalte ich einen anderen Fehler:

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

Hier ist mein aktualisierter 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>
25
hba

Jetty hat sich viel bewegt - siehe die Geschichte . Eclipse ist seit 2009 das jüngste Zuhause. Die Maven-Artefakte wurden auf dem Weg umbenannt, sodass Ihre Suche nach älteren Versionen von Jetty und dem Maven-Plugin sucht.

Die neueste (v9) Jetty-Maven-Plugin-Dokumentation listet die Abhängigkeit auf als:

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

Die anderen Bibliotheken wie jetty-continuation oder jetty-jsp sind nur Untermodule des Jetty-Projekts. Im älteren Wiki gibt es einige Dokumentationen für Jetty 7 und 8, aber ich kann noch nichts für v9 sehen. Das modulare Design ist so, dass Jetty-Entwickler ihren Code in klar definierten Modulen organisieren, die alle separat für Entwickler zur Verfügung gestellt werden, die nur einen kleinen Teil von Jetty verwenden möchten.

23
andyb

Die Eclipse-Version ist die neuere. Befolgen Sie die Anweisungen auf ihrer Website.

3
carlspring

Hier ist die funktionierende Konfiguration für mich ... Verwendet die neueste Jetty-Version.

<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>
0
Deepu Sahni