2012-01-22 3 views
1

Я и моя команда пытаются настроить проект Spring и хотели бы использовать сервисы REST. Но когда я пытаюсь развернуть его на tomcat 7, я получаю сообщение об ошибке. Вот результат:Как настроить этот проект Spring правильно?

Jan 22, 2012 9:39:34 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 
Jan 22, 2012 9:39:34 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:niths' did not find a matching property. 
Jan 22, 2012 9:39:34 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Jan 22, 2012 9:39:34 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
Jan 22, 2012 9:39:34 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 497 ms 
Jan 22, 2012 9:39:34 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Jan 22, 2012 9:39:34 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.25 
Jan 22, 2012 9:39:34 PM org.apache.catalina.startup.ContextConfig webConfig 
SEVERE: Unable to determine URL for WEB-INF/classes 
javax.naming.NameNotFoundException: Resource /WEB-INF/classes not found 
    at org.apache.naming.resources.BaseDirContext.listBindings(BaseDirContext.java:733) 
    at org.apache.naming.resources.ProxyDirContext.listBindings(ProxyDirContext.java:546) 
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1197) 
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:825) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:300) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5161) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1568) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1558) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 

Jan 22, 2012 9:39:37 PM org.apache.catalina.core.ApplicationContext log 
INFO: No Spring WebApplicationInitializer types detected on classpath 
Jan 22, 2012 9:39:37 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jan 22, 2012 9:39:37 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Jan 22, 2012 9:39:37 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 3208 ms 

Я попытался погуглить javax.naming.NameNotFoundException: Resource /WEB-INF/classes not found без удачи. Я предполагаю, что проект не был развернут вообще.

Проект размещен по адресу this GitHub repo.

Я добавил очень простой метод для тестирования моего приложения: getBaz(), который я предполагаю, будет вызван в localhost:8080/niths/rest/baz.

Мне сложно определить, чего не хватает, поскольку это мой первый проект Spring, и поэтому был бы признателен, если бы кто-то из мастеров искусств весны указывал, в чем проблема!

+1

Как вы развернули его в Tomcat, просто поместите файл .war? Я использовал Maven плагин пристани, чтобы запустить его - org.mortbay.jetty Пристань-Maven-плагин внутри pom.xml и МВН причалу: бежать - и оказалось, что груз хорошо. –

+0

Спасибо! Это развернуло приложение, случайно ли вы получили так называемую службу REST? – whirlwin

ответ

2

Из файла pom.xml, кажется, что вы исключили классы и библиотеки из сгенерированной войны:

<warSourceExcludes>WEB-INF/classes/**,WEB-INF/lib/**</warSourceExcludes> 

Попробуйте еще раз, удалив эту строку.

+0

Он по-прежнему отображает 'javax.naming.NameNotFoundException: Resource/WEB-INF/classes not found', даже после того, как я полностью удалил проект, повторно загрузил его и повторил попытку. – whirlwin

+0

Ошибка, которую вы наблюдаете, кажется проблемой в Tomcat 7.0.25 [issue 52511] (https://issues.apache.org/bugzilla/show_bug.cgi?id=52511). Найдено через [этот ответ] (http://stackoverflow.com/a/9261392/12039). – Kariem