78

I set up my server in eclipse and when I run it the console prints:

mai 02, 2013 4:05:13 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: C:\Program Files\Java\jre7\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files (x86)\Microsoft Application Virtualization Client;c:\Program Files (x86)\Open Text\View\bin;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\ThinkPad\Bluetooth Software\;C:\Program Files\ThinkPad\Bluetooth Software\syswow64;;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Java\jre7\bin;C:\WorkspacePPL\apache-maven-3.0.4\bin;.
mai 02, 2013 4:05:13 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ppl-webapp' did not find a matching property.
mai 02, 2013 4:05:13 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
mai 02, 2013 4:05:13 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 604 ms
mai 02, 2013 4:05:14 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
mai 02, 2013 4:05:14 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.36
mai 02, 2013 4:05:14 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
mai 02, 2013 4:05:14 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
mai 02, 2013 4:05:14 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/22  config=null
mai 02, 2013 4:05:14 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 493 ms

but then, if I browse http://localhost:8080 I get:

HTTP Status 404 - /
---------------------------------------------------------------------
type Status report
message /
description The requested resource is not available.

While I should see the Tomcat welcome page.

If I run Tomcat outside of eclipse I can reach the welcome page.

Willi Mentzel
  • 27,862
  • 20
  • 113
  • 121
GiGamma
  • 894
  • 1
  • 9
  • 16

3 Answers3

238
  1. Click on Window > Show view > Server or right click on the server in "Servers" view, select "Properties".
  2. In the "General" panel, click on the "Switch Location" button.
  3. The "Location: [workspace metadata]" should replace by something else.
  4. Open the Overview screen for the server by double clicking it.
  5. In the Server locations tab , select "Use Tomcat location".
  6. Save the configurations and restart the Server.

You may want to follow the steps above before starting the server. Because server location section goes grayed-unreachable.

server Locations in eclipse view

Willi Mentzel
  • 27,862
  • 20
  • 113
  • 121
AllTooSir
  • 48,828
  • 16
  • 130
  • 164
28

To get your program to run, please put jsp files under web-content and not under WEB-INF because in Eclipse the files are not accessed there by the server, so try starting the server and browsing to URL:

http://localhost:8080/YourProject/yourfile.jsp

then your problem will be solved.

algorhythm
  • 3,304
  • 6
  • 36
  • 56
Agrata shukla
  • 289
  • 3
  • 4
  • It's not about Eclipse, 'web-inf' is protected under Servlet specs . – AllTooSir May 23 '14 at 07:15
  • this worked for me. thanks In my case I was just trying to open a normal .jsp file – patz Oct 08 '14 at 02:59
  • Nice piece of information. Can you share some link where I can read about things like this. – Saumyaraj Oct 10 '14 at 09:11
  • I was (unintentionally) adding index.html file to WEB-INF folder, hence my 3 configured servers, **Tomcat7, TomEE+ and JBoss** were unable to run that page. All displayed 404. index.html page and all other pages should be under `web-content` folder, not in `WEB-INF` folder. Thanks @Agrata – InamTaj Sep 07 '15 at 10:57
6

You don't have to use Tomcat installation as a server location. It is much easier just to copy the files in the ROOT folder.

Eclipse forgets to copy the default apps (ROOT, examples, etc.) when it creates a Tomcat folder inside the Eclipse workspace. Go to C:\apache-tomcat-7.0.8\webapps, R-click on the ROOT folder and copy it. Then go to your Eclipse workspace, go to the .metadata folder, and search for "wtpwebapps". You should find something like your-eclipse-workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps (or ../tmp1/wtpwebapps if you already had another server registered in Eclipse). Go to the wtpwebapps folder, R-click, and paste ROOT (say "yes" if asked if you want to merge/replace folders/files). Then reload http://localhost/ to see the Tomcat welcome page.

Source: HTTP Status 404 error in tomcat

kenorb
  • 155,785
  • 88
  • 678
  • 743
Peeter Kokk
  • 1,625
  • 2
  • 15
  • 9
  • 1
    the above still works in Eclipse Oxygen - I placed `docs examples ROOT` under `wtpwebapps` & `host-manager manager` under `webapps` directories (inside Eclipse `.metadata` directory as shown above) – Stuart Cardall Dec 05 '17 at 15:57
  • if you use **Struts 2.5** , **tomcat** version **9.0** works, and no need to Switch Location, use 10.0 will get 404 error. – yu yang Jian Apr 13 '23 at 05:52