【问题标题】:Export & deploying webapp in Eclipse在 Eclipse 中导出和部署 webapp
【发布时间】:2011-05-09 11:07:16
【问题描述】:

我在 eclipse SDK 中导出我非常简单的项目时遇到问题:eclipse 没有为我的“核心”类编译 *.jar 文件。

我的简单项目的结构:

│   .classpath
│   .project
│
├───.settings
│       .jsdtscope
│       org.eclipse.jdt.core.prefs
│       org.eclipse.jst.jsp.core.prefs
│       org.eclipse.wst.common.component
│       org.eclipse.wst.common.project.facet.core.xml
│       org.eclipse.wst.css.core.prefs
│       org.eclipse.wst.html.core.prefs
│       org.eclipse.wst.jsdt.ui.superType.container
│       org.eclipse.wst.jsdt.ui.superType.name
│       org.eclipse.wst.ws.service.policy.prefs
│       org.eclipse.wst.xsl.core.prefs
│
├───build
├───src
│   └───my_package
│           core.java
│
└───WebContent
    │   index.jsp
    │
    ├───META-INF
    │       MANIFEST.MF
    │
    └───WEB-INF
        │   web.xml
        │
        ├───classes
        │   └───my_package
        │           core.class
        │
        └───lib

如果我从 Eclipse 运行项目,它已经可以工作,但是如果我将 WebContent 上传到主机,我就会出错。

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>MyProject</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

【问题讨论】:

  • eclipse 没有在 WEB-INF/lib/dir 中为我的包“my_package”构建 core.jar 文件

标签: eclipse jsp tomcat packages jspinclude


【解决方案1】:

您的设置没有问题,但可能与您的导出或命名有关。

通过以下步骤,您将获得一个支持 jsp 的简单 Web 应用程序。

  1. 在 Eclipse 中创建新的动态 Web 项目
  2. 将 index.jsp 页面添加到 WebContent 文件夹
  3. 编写类似“Hello World!”的内容到 index.jsp 页面的正文
  4. 将项目导出为war文件并将war命名为test.war
  5. 将此war文件复制到您的tomcat/webapps文件夹并启动tomcat
  6. 通过访问http://localhost:8080/test,您应该会得到输出“Hello World!”

【讨论】:

  • 在 localhost 中已经可以工作了,但是 Eclipse 没有在 WEB-INF/lib/ 目录中为我的包“my_package”构建 core.jar 文件。如果我导出到 *.war 并部署它们,那么 core.jar 就不存在
  • eclipse 不会自动将您的类打包到 jar 中,它们都转到 WEB-INF/classes。 jar 通常用于外部库。
【解决方案2】:

您使用 eclipse 的哪个版本?因为将 jar 放入类路径以将它们导出到 webinf/library 是不够的。在 3.5 中,您必须在项目属性的“java ee 模块依赖项”部分添加 jar,在 3.6 中,它称为“Web 部署程序集”。检查你的 core.jar 是否在这个地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2012-11-24
    • 2011-03-30
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多