#spring #sts-springsourcetoolsuite #springsource #tcserver
#spring #sts-springsourcetoolsuite #springsource #tcserver
Вопрос:
Я пытаюсь узнать о Spring, используя набор инструментов SpringSource. На данном этапе у меня не было большого успешного опыта ни с тем, ни с другим.
До сих пор я смог установить STS и создать новый проект, но не продвинулся дальше. Проблема, похоже, возникает при запуске приложения на сервере tc. Я пройдусь по шагам, которые я предпринял, и, возможно, кто-нибудь сможет указать, где я ошибаюсь. Для справки, я использую Ubuntu 11.10.
- Я установил STS, используя эту ссылку, которую я нашел на странице загрузки набора инструментов SpringSource.
- Во время установки STS я решил установить в свою домашнюю папку / home / luke / springsource. Я оставил все выбранные пакеты: набор инструментов SpringSource 2.8.0.RELEASE; Сервер vFabric tc 2.6.1.RELEASE; Spring Roo 1.1.5.RELEASE; Apache Maven 3.0.3
- При выборе пути к JDK я выбрал /usr/lib/jvm/default-java, который ссылается на /usr/lib/jvm/java-6-openjdk .
- Установка завершается успешно, и я запускаю STS вручную, перейдя в каталог установки /home/luke/springsource/sts-2.8.0.RELEASE и запустив файл STS. Я должен был сделать это, чтобы запустить STS, несмотря на то, что в конце установки был установлен флажок запускать STS now (не уверен, что это реальная проблема, но подумал, что это стоит упомянуть).
- Я выбираю свое рабочее пространство / home / luke / Documents / workspace-sts-2.8.0.RELEASE и нажимаю OK. Пока все хорошо?
- На панели инструментов я нажимаю Создать> Проект шаблона Spring.
- В следующем диалоговом окне я нажимаю Spring MVC Project и нажимаю Далее, затем соглашаюсь на загрузку.
- В диалоговом окне настроек проекта я даю проекту имя springmvc и действительный пакет верхнего уровня, затем нажимаю Готово.
- Теперь я могу видеть свой недавно созданный проект в проводнике пакетов, а также папку Servers, а также VMware vFabric tc Server Developer Edition v2.6 в окне Server.
- Я перетаскиваю проект на сервер в окне сервера, и там появляется проект со статусом [Синхронизировано]. Затем я щелкаю правой кнопкой мыши по проекту в проводнике пакетов и нажимаю «Запустить как»> «Запустить на сервере». Вышеупомянутый сервер есть и выбран, поэтому я нажимаю Далее. Созданный мной проект находится в разделе «Настройка» на следующем экране, поэтому я нажимаю «Готово». Меня спрашивают, хочу ли я использовать Spring Insight, поэтому я нажимаю «Да», и сервер запускается.
Вот где начинается большая проблема.
- Я получаю следующий вывод на консоль и сообщение 404 в окне браузера, на которое указано
http://localhost:8080/springmvc/
Вывод на консоль:
Nov 3, 2011 4:21:29 PM com.springsource.tcserver.security.PropertyDecoder <init>
INFO: tc Runtime property decoder using memory-based key
Nov 3, 2011 4:21:30 PM com.springsource.tcserver.security.PropertyDecoder <init>
INFO: tcServer Runtime property decoder has been initialized in 924 ms
Nov 3, 2011 4:21:32 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Nov 3, 2011 4:21:32 PM com.springsource.tcserver.serviceability.rmi.JmxSocketListener init
INFO: Started up JMX registry on 127.0.0.1:6969 in 368 ms
Nov 3, 2011 4:21:32 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 3809 ms
Nov 3, 2011 4:21:32 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Nov 3, 2011 4:21:32 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: VMware vFabric tc Runtime 2.6.1.RELEASE/7.0.20.B.RELEASE
Nov 3, 2011 4:21:32 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor springmvc.xml from /home/luke/springsource/vfabric-tc-server-developer-2.6.1.RELEASE/spring-insight-instance/conf/Catalina/localhost
Nov 3, 2011 4:21:33 PM org.apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:springmvc' did not find a matching property.
Nov 3, 2011 4:21:33 PM com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader start
INFO: Context [localhost|springmvc] will not be woven
Nov 3, 2011 4:21:34 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)
at java.lang.Class.getConstructor0(Class.java:2716)
at java.lang.Class.newInstance0(Class.java:343)
at java.lang.Class.newInstance(Class.java:325)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4660)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
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:679)
Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContextException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
... 14 more
Nov 3, 2011 4:21:34 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Nov 3, 2011 4:21:34 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Nov 3, 2011 4:21:34 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [227] milliseconds.
Nov 3, 2011 4:21:34 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/springmvc] startup failed due to previous errors
Nov 3, 2011 4:21:34 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor insight.xml from /home/luke/springsource/vfabric-tc-server-developer-2.6.1.RELEASE/spring-insight-instance/conf/Catalina/localhost
Nov 3, 2011 4:21:41 PM com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader start
INFO: Context [localhost|insight] will not be woven
Nov 3, 2011 4:21:42 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Nov 3, 2011 4:22:00 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Nov 3, 2011 4:22:11 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'Spring MVC Dispatcher Servlet'
Nov 3, 2011 4:22:18 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory manager
Nov 3, 2011 4:22:18 PM com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader start
INFO: Context [localhost|manager] will not be woven
Nov 3, 2011 4:22:18 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
Nov 3, 2011 4:22:18 PM com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader start
INFO: Context [localhost|ROOT] will not be woven
Nov 3, 2011 4:22:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Nov 3, 2011 4:22:19 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 46286 ms
Буду признателен за любую помощь в расшифровке этого, поиске решения и указании на то, что я делаю неправильно здесь, в том, что кажется очень простым вариантом использования STS.
Комментарии:
1. Вы когда-нибудь находили решение этой проблемы? У меня точно такая же проблема. С других сайтов кажется, что шаблоны, поставляемые с SpringSource, предназначены для Spring 2, в то время как инструментарий поставляется с Spring 3. У меня точно такая же проблема при попытке использовать версию плагина SpringSource со стандартной установкой Eclipse, используя стандартную установку Tomcat, так что, похоже, это не имеет никакого отношения к tcServer или пользовательской сборке SpringSource Eclipse…
2. Похоже, я не запускал maven install перед развертыванием проекта. Выполнение этого, а затем обновление проекта (F5) перед развертыванием, казалось, решило проблему.
Ответ №1:
то же самое с Ральфом.
выбрал проект верхнего уровня, перешел к
Run As > Maven Clean
Run As > Maven Install
Run As > Run on Server
и все прошло правильно. Я не уверен, почему он изначально терпел неудачу или почему его установка дважды исправляет это.
Ответ №2:
Похоже, проект неправильно развернут на сервере. Контекстное меню для сервера содержит опцию его очистки. После очистки используйте то же контекстное меню и опубликуйте приложение. Затем повторите попытку.
(Другой причиной этой проблемы может быть сбой компилятора.)