J'essaie d'utiliser la jetée pour héberger un servlet helloworld simple à l'aide de maven. Je suis très confus.
J'ai suivi ces instructions , mais lorsque j'émets mvn jetty:run
, l'erreur suivante apparaît:
[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)]
Pour ajouter à la confusion, lorsque je recherche des exemples sur le Web, certains font référence à org.mortbay.jetty
, et d’autres à org.Eclipse.jetty
. Je pensais que la version Eclipse est la plus récente, non?
Existe-t-il une documentation décrivant la signification de chacune des dépendances hébergées sur maven repo ? Et comment peuvent-ils être utilisés?
Après avoir modifié le numéro de version en 9.0.0.v20130308
, j'obtiens une erreur différente:
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
Voici mon pom mis à jour:
<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>
Jetty a beaucoup bougé - voir la Histoire . Eclipse est la version la plus récente, datant de 2009. Les artefacts Maven ayant été renommés en cours de route, vos recherches permettent de trouver de la documentation pour les anciennes versions de Jetty et du plugin maven.
La dernière (v9) documentation de jetty-maven-plugin répertorie les dépendances comme suit:
<plugin>
<groupId>org.Eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.0.0.v20130308</version> <!-- latest at time of writing -->
</plugin>
Les autres bibliothèques telles que jetty-continuation ou jetty-jsp ne sont que des sous-modules du projet Jetty. Une certaine documentation existe sur le ancien wiki pour Jetty 7 et 8 mais je ne vois encore rien de mis à jour pour la v9. La conception modulaire représente pour le développeur de Jetty l'organisation de son code en modules bien définis, qui ont tous été mis à disposition séparément pour les développeurs souhaitant utiliser une petite partie de Jetty.
La version Eclipse est la plus récente. Suivez les instructions sur leur site.
Voici la configuration de travail pour moi . Utilise la dernière version de 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>