maven jetty-org.mortbay.jetty vs org.Eclipse.CAL
eu segui estas instruções , mas quando eu emitir mvn jetty:run
, Eu recebo o seguinte erro:
[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)]
para adicionar à confusão, quando procuro na web por exemplos, alguns estão se referindo a org.mortbay.jetty
, e outros a org.eclipse.jetty
. Pensei que a versão do Eclipse fosse a mais recente, não?
existe alguma documentação que descreva o que cada uma das dependências hospedadas em Maven repo média? E como podem ser usados?
Depois de modificar o número da versão para 9.0.0.v20130308
, tenho um erro diferente:
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
Aqui está o meu pom actualizado:
<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 answers
O Jetty moveu - se muito-veja a história. Eclipse é a casa mais recente, a partir de 2009. Os artefatos Maven foram renomeados ao longo do caminho, então suas pesquisas estão encontrando documentação para versões mais antigas do Jetty e do plugin maven.
A última documentação (v9) do 'plugin' de jetty-maven lista a dependência como:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.0.0.v20130308</version> <!-- latest at time of writing -->
</plugin>
As outras bibliotecas como jetty-continuation or jetty-jsp são apenas sub-módulos do projecto Jetty. Existe alguma documentação sobre o wiki mais antigo para o Jetty 7 e 8, mas ainda não consigo ver nada actualizado para o v9. O design modular é a organização do Código do desenvolvedor do Jetty em módulos bem definidos que foram disponibilizados separadamente para desenvolvedores que podem querer usar apenas uma pequena parte do 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>