【问题标题】:jetty Hello World Example not compiling码头 Hello World 示例未编译
【发布时间】:2011-07-12 23:38:34
【问题描述】:

我正在尝试编译 java 类:http://wiki.eclipse.org/Jetty/Tutorial/Jetty_HelloWorld

使用 Jetty 网络服务。

由于某种原因,当我尝试运行时:

javac -cp servlet-api-2.5.jar:jetty-all-$JETTY_VERSION.jar HelloWorld.java

它说有 14 个,是的 14 个错误:

C:\Users\n...\DEMO>javac -cp servlet-api-2.5.jar:jetty-all- 7.3.0.v20110203.jar HelloWorld.java HelloWorld.java:1:包javax.servlet.http不存在导入javax.servlet.http.HttpServletRequest; ^ HelloWorld.java:2: 包 javax.servlet.http 不存在导入 javax.servlet.http.HttpServletResponse; ^ HelloWorld.java:3: 包 javax.servlet 不存在导入 javax.servlet.ServletException; ^ HelloWorld.java:7: 包 org.eclipse.jetty.server 不存在导入 org.eclipse.jetty.server.Server; ^ HelloWorld.java:8: 包 org.eclipse.jetty.server 不存在导入 org.eclipse.jetty.server.Request; ^ HelloWorld.java:9:包 org.eclipse.jetty.server.handler 不存在导入 org.eclipse.jetty.server.handler.AbstractHandler; ^ HelloWorld.java:11:找不到符号符号:类 AbstractHandler 公共类 HelloWorld 扩展 AbstractHandler ^ HelloWorld.java:14:找不到符号符号:类请求位置:类 HelloWorld 请求基请求, ^ HelloWorld.java:15:找不到符号符号:类 HttpServletRequest 位置:类 HelloWorld HttpServletRequest 请求, ^ HelloWorld.java:16:找不到符号符号:类 HttpServletResponse 位置:类 HelloWorld HttpServletResponse 响应) ^ HelloWorld.java:17:找不到符号符号:类 ServletException 位置:类 HelloWorld 抛出 IOException、ServletException ^ HelloWorld.java:20:找不到符号符号:变量 HttpServletResponse 位置:类 HelloWorld response.setStatus(HttpServletResponse.SC_OK); ^ HelloWorld.java:27:找不到符号符号:类服务器位置:类 HelloWorld 服务器服务器=新服务器(8080); ^ HelloWorld.java:27:找不到符号符号:类服务器位置:类 HelloWorld 服务器服务器=新服务器(8080); ^ 14 个错误

如何修复它以使其在我的机器上运行,并且我可以编译和运行它?

谢谢。

更新: HelloWorld.java(它在网站上,但我把它放在这里):

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import java.io.IOException; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; public class HelloWorld extends AbstractHandler { public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println("<h1>Hello World</h1>"); } public static void main(String[] args) throws Exception { Server server = new Server(8080); server.setHandler(new HelloWorld()); server.start(); server.join(); } }

更新 2:

在安装 JAVA EE SDK 的过程中。 会告诉你它是否有效

【问题讨论】:

  • 查看 HelloWorld.java 的源代码会有所帮助...
  • 您安装了 J2EE java,还是只安装了 JDK?
  • ehhhh 我想我有 jdk。我怎么知道 j2EE?
  • 从这里:oracle.com/technetwork/java/javase/downloads/index.html 使用 Java EE 获取捆绑包。
  • 好的,我现在就这样做。如果有帮助,我会告诉你

标签: java webserver jetty javac


【解决方案1】:

我会说你的当前目录 C:\Users\n...\DEMO 中没有 jar 文件

尝试:

javac -cp C\:path\to\servlet-api-2.5.jar:C\:path\to\jetty-all-7.3.0。 v20110203.jar HelloWorld.java

并替换路径...

【讨论】:

  • 我在 DEMO 文件夹中有两个 jars
【解决方案2】:

在 Windows 上,您不应该使用 ';'而不是 ':' 作为路径分隔符?

【讨论】:

  • 成功了!我猜他们在 linux 上做教程,他们不告诉你。谢谢
  • 这也帮助我解决了类似的问题。谢谢!
  • 我知道这有点垃圾邮件,但我遇到了同样的问题,这对我很有帮助。非常感谢楼主!
猜你喜欢
  • 2015-08-30
  • 1970-01-01
  • 2012-01-20
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 2012-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多