Ich habe mit den Restful Webservices von Jersey in Kombination mit dem Maven Jetty Plugin bei meinem vorherigen Job gearbeitet. Aber jetzt für ein persönliches Projekt fange ich von vorne an und ich kann nicht scheinen, sogar die grundlegende Version zu gehen. Ich habe versucht, ein paar Tutorials zu folgen, aber sie sind entweder alt oder außer Thema.basic Jersey webservice mit maven jetty plugin
Das jüngste Beispiel war ich versucht: jersey 2 + spring 4 + jetty-maven-plugin
So sind die unter configs machen den Stecker in Sicht, aber keine Angelegenheit, die url ich versuche, es mir
Poms 404 gibt:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<jetty.version>9.3.11.v20160721</jetty.version>
<jersey.version>2.23.1</jersey.version>
</properties>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty.version}</version>
</plugin>
</plugins>
</build>
</project>
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>test</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.foo.bar</param-value>
</init-param>
<!--<load-on-startup>1</load-on-startup>-->
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
resourceConfiguration.java
package com.foo.bar;
import org.glassfish.jersey.server.ResourceConfig;
public class ResourceConfiguration extends ResourceConfig {
public ResourceConfiguration() {
register(entrypoint.class);
}
}
und meine Dienstklasse
package com.foo.bar;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
public class entrypoint {
@GET
@Path("/test")
@Produces(MediaType.TEXT_PLAIN)
public String test() {
return "it works";
}
@GET
@Path("/")
@Produces(MediaType.TEXT_HTML)
public String test2() {
return "it works";
}
}
Nichts Besonderes Recht i so fühlen sollte aus dem Kasten heraus arbeiten. Der Jetty-Server startet, aber wie ich sagte, bekomme ich 404 Seiten bei jeder URL-Permutation, die ich versuche.
Vielen Dank im Voraus für alle und alle Eingaben.
Vielen Dank. Für die Aufzeichnung waren die Änderungen, die es reparierten, wie folgt: Schritt 1: war ein typeo, mein schlechtes Schritt 2: das Paket hinzufügen. Schritt 3: Hinzufügen der Klassenstufe @Path Schritt 4: Hinzufügen des Kontextpfads. Alle anderen beeinflussten das Ergebnis nicht, aber nichts davon ließ das Ganze bröckeln. Lustiger Teil ist, dass ich alle diese an einem Punkt oder anderem gerade nicht alle zusammen versucht habe. * Bearbeiten Sie die Enter-Taste ist eine lustige Sache – Rhed