当我尝试在eclipse中创建和发布静态Web项目时,我得到:“复制文件index.html时出错:没有这样的文件或目录”
我的环境:SuSE 12.2,Eclipse Indigo Release 2,Apache2 2.2.22,
这就是我创建项目所做的:
1)创建新服务器
2)创建项目
3)创建非常简单的页面
<!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)启动项目
这里我收到了上面提到的错误消息。
此时,创建了一个新文件夹/srv/www/htdocs/Simplepage
但没有内容。
后来我使用以下配置进行了测试:
启动Project会出错:“禁止访问!您无权访问所请求的目录......”
此时创建了一个新目录:/srv/www/htdocs/XY/Simplepage
包含文件index.html
。
eclipse中的窗口显示路径http://localhost/Simplepage/
。当我手动将其更改为http://localhost/XY/Simplepage/
时,将显示新创建的页面。
我不明白这种行为。有人可以解释一下吗?
答案 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中工作的文件已经成熟时,我会将它们作为帖子或页面手动传输到Wordpress。