Я не мог поверить, что провел несколько дней в решении этой проблемы, возможно, частично, потому что я не был знаком с Mac. Хорошо, просто опубликуйте мой дневник решений. Надеюсь, это будет полезно другим людям.Tomcat не работает в Eclipse
столкнулись с проблемами: 1. Первая проблема Tomcat не может быть запущен из Eclipse, но может быть запущен Startup.sh (locahost: 8080 страница не может быть загружена) 2.And затем, после нескольких попыток, даже startup.sh не будет работать. 3. После исправления первых двух проблем можно загрузить страницу locahost: 8080, но приложение не может быть загружено. Ошибка 404 - resouce not found отображается, даже если папка войны правильно помещена в папку webapps. Когда Tomcat ссылается на приложение Struts 2, произойдет некоторое исключение ClassNotFoundException или MethodNotDefinedException.
Причины и решения каждой проблемы.
Tomcat не может быть запущен с Eclipse. Причина в том, что настройка Tomcat в Eclipse не завершена. Tomcat в Eclipse еще не указал на папку конфигурации. Решение: дважды щелкните сервер Tomcat на вкладке Server, и появится окно конфигурации. В окне выберите папку конфигурации Tomcat и папку назначения развертывания.
стартп.sh не работает. Причина МОЖЕТ БЫТЬ дублированной проблемой банки. Я забыл, что я скопировал все банки Struts 2 в/Library/Java/Extensions, которые изначально были пустыми. Решения: Очистите эту папку, и startup.sh будет работать.
Веб-приложение не может быть загружено, даже если Tomcat работает (предыдущие 2 проблемы были исправлены) Причина МОЖЕТ БЫТЬ, что избыточные бабки Struts включены в проект. Я googled, чтобы узнать необходимые банки для Struts 2 и включить их только.
Оригинальное сообщение: Я пытался запустить веб-приложение Hello World в Eclipse, но не может публиковать.
Вот что я сделал:
-при Macintosh на OS X 10.8.
- загрузка Tomcat 7 из Apache и увеличение файла под некоторым каталогом.
- также создавая определенные переменные среды, такие как $ CATALINA_BASE и $ CATALINA_HOME, используя команду «export».
-В Затмения, создавая новый сервер как Tomcat 7, указав его в распаковали каталог Tomcat выше, и добавить веб-приложение (компилировать безошибочную) проект в Tomcat
мой веб-Publishing приложение.
`
Вот что я возразил.
Как работает сервер в Eclipse, я получил ошибку 404, что ресурс не найден. Я проверил server.xml, добавлена ссылка на контекст. Но в папке webapps Tomcat не добавляется файл войны. Даже если я набрал locahost: 8080, я по-прежнему получаю ошибку 404 вместо «страницы по умолчанию» tomcat.
-
-
Однако, он работал, если я начал сервер с Startup.sh и вручную тащили войны файл в папке WebApps. Сразу же война распаковывается, и я могу загружать свои статические и динамические страницы.
p.s. Как только моя проблема будет решена, у меня теперь больше проблем. Мой startup.sh больше не может запускать сервер. И каждый раз, когда я запускаю его, он, кажется, стирает значение переменных среды, которые это касается.
---------------- ОТВЕТ НА МОИ ПРАЗДНИКИ КОММЕНТАРИИ ------------------------- ----------- к Keerthi Раманатану: содержание catalina.out
Nov 27, 2013 10:26:50 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: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
Nov 27, 2013 10:26:50 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Nov 27, 2013 10:26:50 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Nov 27, 2013 10:26:50 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 800 ms
Nov 27, 2013 10:26:50 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Nov 27, 2013 10:26:50 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
Nov 27, 2013 10:26:50 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.47/webapps/docs
Nov 27, 2013 10:26:50 PM org.apache.tomcat.websocket.server.WsSci onStartup
INFO: JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress this message, run Tomcat on Java 7, remove the WebSocket JARs from $CATALINA_HOME/lib or add the WebSocketJARs to the tomcat.util.scan.DefaultJarScanner.jarsToSkip property in $CATALINA_BASE/conf/catalina.properties. Note that the deprecated Tomcat 7 WebSocket API will be available.
Nov 27, 2013 10:26:50 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.47/webapps/examples
Nov 27, 2013 10:26:51 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.47/webapps/host-manager
Nov 27, 2013 10:26:51 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.47/webapps/manager
Nov 27, 2013 10:26:51 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /usr/local/apache-tomcat-7.0.47/webapps/ROOT
Nov 27, 2013 10:26:51 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Nov 27, 2013 10:26:51 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Nov 27, 2013 10:26:51 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1075 ms
java.lang.NoSuchMethodError: org.apache.juli.ClassLoaderLogManager.setUseShutdownHook(Z)V
at org.apache.catalina.startup.Catalina.start(Catalina.java:719)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Nov 27, 2013 10:26:51 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
Nov 27, 2013 10:26:51 PM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
Nov 27, 2013 10:26:51 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Nov 27, 2013 10:26:51 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Nov 27, 2013 10:26:51 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Nov 27, 2013 10:26:51 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Nov 27, 2013 10:26:51 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
Exception in thread "Thread-2" java.lang.NoSuchMethodError: org.apache.juli.ClassLoaderLogManager.shutdown()V
at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:920)
-
в Krish
по выберите кнопку «установка Использование Tomcat ... . «Я вижу хорошую страницу при загрузке localhost: 8080
Установив depl oyment в папку webapps, я вижу распакованную папку войны, скопированную в папке webapps.
Однако при загрузке приложения все еще не удалось. загрузка localhost: 8080/HellowWorldStruts2/index.jsp или localhost: 8080/HellowWorldStruts2/index.jsp (игнорировать опечатку дополнительного w, это опечатка в проекте) все еще выдал ошибку 404 и описание Запрошенный ресурс недоступен. Однако index.jsp находится прямо под папкой войны.
И я получил эти обратные связи во время развертывания
SEVERE: Exception starting filter struts2
java.lang.NoClassDefFoundError: javax/servlet/Filter
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1617)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:142)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1120)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1678)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 35 more
Nov 28, 2013 12:09:20 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
Nov 28, 2013 12:09:20 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/HellowWorldStruts2] startup failed due to previous errors
-------------------- END РЕАКЦИЯ моего помощника Commenters ------ ---------------------
Что говорит файл журнала? catalina.out? – Keerthivasan
добавлен в главный вопрос – ChrisZ