无法在 Eclipse 的 Create Servlet 对话框中选择项目
Posted
技术标签:
【中文标题】无法在 Eclipse 的 Create Servlet 对话框中选择项目【英文标题】:Cannot select the project in the Create Servlet dialog in Eclipse 【发布时间】:2020-02-10 10:24:23 【问题描述】:我遇到了类似于this one 的问题,但提供的解决方案并没有解决我的问题。所以问题是我无法在 Eclipse 的 Create Servlet 对话框中选择项目。 这使我无法完成创建新 servlet 的过程。
按照解决方案的建议,我创建了一个 Dynamic Web Project 并确保在 foo -> Properties -> Project 中检查了 Dynamic Web Module面。我也在 Java EE 视角。
项目结构:-
创建 servlet 向导:-
项目属性:-
我在 Mac OS Mojave 版本 10.14.5 上运行以下 Eclipse 实例:-
面向企业 Java 开发人员的 Eclipse IDE。
版本:2018-12 (4.10.0) 版本号:20181214-0600
任何帮助将不胜感激。 干杯!
在下面编辑(.project 文件):-
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Foo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
【问题讨论】:
项目选择器是否显示任何可选项目? 你能附上.project文件吗? @LittleSanti 不,它甚至是交互式的。如果我点击下拉菜单,什么都不会发生。 @nitind 我已经用 .project 文件更新了问题。 如果它能让你感觉好些,我在六七年前就放弃了 Eclipse 转而使用 IntelliJ IDEA,并且没有回头(除了昨天) 【参考方案1】:这使我无法完成创建新 servlet 的过程。
在软件可重用之前,它首先必须是可用的。 我理解您对 Eclipse 的不满。 请尝试以下步骤:
-
使用
-clean
参数重新启动 Eclipse。
如果仍然无法正常工作,请备份并删除 Eclipse 工作区的 .metadata 目录。 .metadata 通常是工作区目录中的隐藏目录。重复 #1。
禁用/删除不属于 Eclipse 默认包的所有第三方插件并重复 #1。
顺便说一句。创建Servlet
总是有老派的方法。您可以简单地创建一个新的Class
并使其扩展HttpServlet
,并将其映射到web.xml
。
Servlet
Java 类示例
// Import other required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// Extend HttpServlet class
public class HelloWorldServlet extends HttpServlet
private String message;
public void init() throws ServletException
// Do required initialization
message = "Hello World";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
// Set response content type
response.setContentType("text/html");
// Actual logic goes here.
PrintWriter out = response.getWriter();
out.println("<h1>" + message + "</h1>");
public void destroy()
// do nothing.
web.xml
映射
...
<servlet>
<servlet-name>comingsoon</servlet-name>
<servlet-class>mysite.server.ComingSoonServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>comingsoon</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
...
【讨论】:
以上是关于无法在 Eclipse 的 Create Servlet 对话框中选择项目的主要内容,如果未能解决你的问题,请参考以下文章
eclipse启动时弹出Failed to create the Java Virtual Machine
eclipse oxygen 版本(即为4.7版本)打开 could not create the java virtual machine问题
Eclipse配置Tomcat:Cannot create a server using the selected type
Eclipse 无法识别使用 Maven 创建的 Java Web 项目
hadoop上传文件失败报错(put: Cannot create file/eclipse.desktop._COPYING_. Name node is in safe mode.)