Редактировать: Я не осознавал, что все запросы сначала поступали в "Apache", а затем были перенаправлены на Tomcat. Я добавил новое перенаправление в файл
apache2.conf
. Подробнее см. принятый ответ .У меня такая же проблема, как и в этом вопросе. Jersey REST Экземпляр ResourceConfig не содержит корневых классов ресурсов Однако пользователь так и не ответил на вопрос.
Я использую Tomcat без maven. Я последовал этому руководству. http://www.ibm.com/developerworks/web/library/wa-aj-tomcat/index.html
Я внес изменения в web.xml согласно статье
т.е. новое отображение сервлета и сервлета было создано с правильным именем пакета.
Jersey REST Service com.sun.jersey.spi.container.servlet.ServletContainer com.sun.jersey.config.property.packages sample.hello.resources 1 Jersey REST Service /rest/* Я развернул следующие jar-файлы в tomcat
asm.jar jersey-server.jar jersey-core.jar jsr311.jar
В журнале запуска tomcat есть следующие исключения.
com.sun.jersey.api.core.PackagesResourceConfig init INFO: Scanning for root resource and provider classes in the packages: sample.hello.resources com.sun.jersey.api.core.ScanningResourceConfig logClasses INFO: Root resource classes found: class sample.hello.resources.HelloResource com.sun.jersey.api.core.ScanningResourceConfig init INFO: No provider classes found. com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version 'Jersey: 1.8 06/24/2011 12:17 PM'
Когда я обращаюсь к URL-адресу, я получаю 404 . http: // localhost: 8080 / Jersey / rest / hello
Код:
import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @Path("/hello") public class HelloResource { @GET @Produces(MediaType.TEXT_PLAIN) public String sayHello() { return "Hello Jersey"; } }
Я не вижу других исключений в журналах