在Eclipse中创建和发布静态Web项目

时间:2013-02-17 23:22:43

标签: eclipse

当我尝试在eclipse中创建和发布静态Web项目时,我得到:“复制文件index.html时出错:没有这样的文件或目录”

我的环境:SuSE 12.2,Eclipse Indigo Release 2,Apache2 2.2.22,

这就是我创建项目所做的:

1)创建新服务器

  • 基本,HTTP服务器
  • 发布目录:/ srv / www / htdocs
  • 启用发布到此服务器:true

2)创建项目

  • 新 - >静态Web项目
  • 项目名称:Simplepage
  • 目标运行时:HTTP服务器(从1开始)
  • 默认配置
  • 内容根目录:Simplepage
  • 网页内容文件夹名称:WebContent

3)创建非常简单的页面

  • 创建新的HTML文件
  • 父文件夹:Simplepage / WebContent
  • 名称:index.html
  • 内容:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=${encoding}"> <title>Insert title here</title> </head> <body> Test </body> </html>

4)启动项目

  • 右键单击项目名称 - &gt;以 - &gt;运行在服务器上运行

这里我收到了上面提到的错误消息。 此时,创建了一个新文件夹/srv/www/htdocs/Simplepage但没有内容。

后来我使用以下配置进行了测试:

  • 将发布目录更改为:“/ srv / www / htdocs / XY”

启动Project会出错:“禁止访问!您无权访问所请求的目录......”

此时创建了一个新目录:/srv/www/htdocs/XY/Simplepage包含文件index.html

eclipse中的窗口显示路径http://localhost/Simplepage/。当我手动将其更改为http://localhost/XY/Simplepage/时,将显示新创建的页面。

我不明白这种行为。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

您已在家用计算机上安装了Apache2服务器,其发布目录为/ srv / www

请注意,Apache2在自己的用户上运行(在我的Ubuntu上是www-data)。 Apache的发布目录/ srv / www通常由Apache的用户拥有。

您还将Eclipse的HTTP Server指向同一目录。请注意,此服务器与Apache不同;它由Eclipse在其腹部运行,通常在Apache的不同端口上运行,以避免端口冲突。我认为这个服务器是在Eclipse运行的同一个用户上运行的,即你的家庭用户的普通用户。

我认为您收到的错误消息是权限不匹配:Eclipse无法在Apache用户拥有的目录中发布。

解决方案不是尝试使用Apache的目录,而是使用Eclipse的默认目录。

我在这里更详细地解释了这一点:Eclipse Web (http) servers: Debugging and publishing http files in Eclipse

我确实使用Eclipse的HTTP预览服务器和Apache2:

  • Eclipse的HTTP预览服务器,用于我在Eclipse中工作的文件和
  • Apache2运行我的Wordpress网站的本地主机副本。

当我在Eclipse中工作的文件已经成熟时,我会将它们作为帖子或页面手动传输到Wordpress。