Проблемы с созданием простого отдыха с помощью Tomcat 10, eclipse, jakarta. Ошибка: для приложения сервлета не указан клJAVA

Программисты JAVA общаются здесь
Anonymous
Проблемы с созданием простого отдыха с помощью Tomcat 10, eclipse, jakarta. Ошибка: для приложения сервлета не указан кл

Сообщение Anonymous »

Я пытаюсь создать простой REST ws, используя Tomcat 10, jakarta и java 17 в Eclipse. Когда я делаю это в соответствии с документацией, я получаю сообщение об ошибке: «Для сервлета [jakarta.ws.rs.core.Application] не указан класс сервлета».
Мой файл web.xml выглядит следующим образом:

Код: Выделить всё



cotizacion
gub.tramitecaj.ServletCotizacion


jakarta.ws.rs.core.Application
1


cotizacion
/wscotizacion


jakarta.ws.rs.core.Application
/rest/*


И мой сервисный код:

Код: Выделить всё

package gub.tramitecaj.ws;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.Response;
import jakarta.ws.rs.GET;

@Path("")
@Produces({ "application/json" })
public class Cotizacion {
@GET
@Path("/cotizacion")
public Response ping() {
return Response.status(200).entity( String.format("hello-world") ).build();
}
}
Согласно документации (насколько я понял), имя класса не должно быть обязательным. Возможная альтернатива, указанная в документации, — создать подкласс для приложения и связать туда ссылку, поэтому, когда я изменил свой XML на:

Код: Выделить всё

jakarta.ws.rs.core.Application
gub.tramitecaj.rest.RestApplication
1

Код моего подкласса:

Код: Выделить всё

package gub.tramitecaj.rest;
import java.util.HashSet;
import java.util.Set;
import jakarta.ws.rs.ApplicationPath;
import jakarta.ws.rs.core.Application;

@ApplicationPath("/rest")
public class RestApplication extends Application {
public Set> classes = new HashSet

Подробнее здесь: [url]https://stackoverflow.com/questions/78660142/problems-creating-simple-rest-ws-with-tomcat-10-eclipse-jakarta-error-no-ser[/url]

Вернуться в «JAVA»