【发布时间】:2014-04-17 04:00:42
【问题描述】:
我最近开始学习 jsp 并选择 eclipse 作为我的工作 IDE,并选择 Glassfish 4 作为服务器。在完成所有必要的设置后,我创建了我的第一个 jsp 脚本,并在 glassfish localhost 服务器上运行它后,我收到了一条错误提示
org.apache.jasper.JasperException: PWC6345: There is an error in invoking javac. A full JDK (not just JRE) is required
在尝试了互联网上几乎所有可用的东西大约 3-4 小时后,我放弃并下载了 apache-Tomcat。通过运行 startup.bat 启动 tomcat 后,它就启动了。但是当我尝试加载 localhost:8080 时,打开了相同的旧 glassfish 页面。即使在我使用 asadmin stop-domain domain1 停止 glassfish 之后
当我尝试打开 localhost:8080 时,我仍然不断打开相同的 localhost 页面
当我开始在 eclipse 内的新 apache tomcat 服务器中运行动态 Web 项目时,它一直在说
Several ports (8005, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
我猜它的 glassfish 仍在使用它们,但我不知道如何阻止它。是的,这里的一切都搞砸了。
之后,我删除了 eclipse 中的所有动态 Web 项目和所有其他服务器(在 eclipse 中)。并一个接一个地创建了tomcat和glassfish来运行jsp。运行它后,控制台窗口给出了以下消息
Mar 13, 2014 12:12:39 AM 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\jdk1.7.0_51\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\ System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_51\bin;C:\glassfish4\bin;C:\eclipse;;.
Mar 13, 2014 12:12:39 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:DemoJSP' did not find a matching property.
Mar 13, 2014 12:12:39 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Mar 13, 2014 12:12:39 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Mar 13, 2014 12:12:39 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 476 ms
Mar 13, 2014 12:12:39 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 13, 2014 12:12:39 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52
Mar 13, 2014 12:12:40 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Mar 13, 2014 12:12:40 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Mar 13, 2014 12:12:40 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 474 ms
Eclipse 网络浏览器打开了一个窗口,上面写着HTTP Status 404 - Not Found The requested resource is not available.
当我尝试在 glassfish 上运行它时,什么也没发生。但是,当我在 glassfish 服务器页面中打开管理页面时,有一个我尝试使用 eclipse 运行的 jsp 文件。当我尝试启动它时,会打开一个带有HTTP Status 404 - Not Found The requested resource is not available. 的新网页当我停止 glassfish 并再次运行 jsp 时,eclipse 的控制台窗口中出现了将近 3-4 页的文本,其中我无法弄清楚一件事。
现在我是这个领域的新手。我对在系统中设置服务器没有太多想法。我只是按照互联网上的教程进行操作。现在虽然我已经多次停止 glassfish 但是当我尝试打开 localhost:8080 时仍然
打开的是同一个 glassfish 服务器页面,而不是当前活动的 tomcat 页面。这一切都搞砸了。我什至不知道如何卸载这些服务器。我认为我选择eclipse并手动设置这些是错误的。带有 Glassfish 服务器包的 netbeans JavaEE 会更好。
请有人帮我摆脱这个烂摊子。这简直是痛苦的。并提前致谢。
编辑:问题部分解决,tomcat 在 eclipse 下工作。我不知道如何以及为什么,但是在我删除了 glassfish 服务器并通过命令提示符将其停止并在 eclipse 中创建了新的 tomcat 服务器之后,它就可以工作了。每当我尝试运行整个动态 web 项目时,它都会给我一个 404 HTTP 错误。但是如果我选择 jsp 文件并在它运行的服务器上单独运行它。但是,每当我尝试通过网络浏览器访问 localhost:8080 时,它仍然会将我带到 glassfish 页面,我已经停止了几次并从 eclipse 中删除了。
【问题讨论】:
-
你有安装JDK吗?
-
是的,我的系统中安装了 jdk 1.7.0_51。
-
好吧stackoverflow.com/questions/16340711/tomcat-http-status-404 解决了它。感谢所有其他回复。
标签: eclipse tomcat7 glassfish-4