我正在启动一个Web应用程序项目,该项目将具有Adobe Flex前端和PHP / MySQL后端。我已经开发了很多C ++桌面应用程序,但它对于构建Web应用程序和Eclipse环境都是新手。我在Subversion中设置了我当前的项目结构:
--MyWebsite
+--tags
+--branches
+--trunk
---index.html
+--images
+--BasicHtmlSubSite
+--PHPServices
+--FlexComponentA
我将trunk检入E:\ Dev \ Projects \ MyWebSite \ workspace,该目录也是我的Eclipse Workspace(但是我从Subversion中排除了.metadata文件夹,只检查项目)。
所以我的问题是:
1)这是一个很好的网站结构吗?具体来说,我的Subversion / Eclipse文件夹结构应该与htdocs中的最终文件夹结构有多接近?
2)如何在Eclipse项目中包含index.html(或某天可能是index.php)?我已经尝试将它放在工作空间下的静态HTML项目(StaticLandingPage)中,并添加了一个FileSync构建操作以将其移动到Web服务器的根目录,但StaticLandingPage文件夹也被部署到服务器,我不这样做想。我只是希望能够将项目中的单个html文件部署到htdocs目录。
我应该补充一点,我正在开发Windows,包括Eclipse Ganymede,Adobe Flash Builder 4,PDT 2.x,Subclipse,FileSync和WST插件(我认为是)。我正在使用XAMPP作为本地服务器。
答案 0 :(得分:1)
我也在努力寻找一个好的项目结构,但我正在从项目需求策略而不是最佳实践策略中接近它。
我的需求是:
最适合我的结构如下:
-- ROOT
--- README.HTML
+-- trunk
... --- index.html
... +-- glue
... +-- topic[s]
+-- tags
... +-- library_version[s]
+-- branches
... +-- development
... ... +-- topic[s]
... ... ... --- eclipse .project
... ... ... --- eclipse .texlipse
... ... ... --- topic.pdf
... ... ... +-- design
... ... ... ... --- topic.tex
... ... ... ... +-- reuse
... ... ... ... +-- sections
... ... ... ... +-- implementation
... ... ... ... ... --- eclipse .project
... ... ... ... ... --- source.*
... ... ... ... ... +-- contrib[s]
... ... ... ... ... ... --- contrib.oem
... ... ... ... ... +-- flavor[s]
... ... ... ... ... ... --- eclipse or other project files
... +-- rfcs
... ... +-- topic[s]
... +-- published_topics
... ... +-- glue
... ... +-- topic[s]
答案 1 :(得分:1)
这在Eclipse中根本不起作用。
您通常希望项目在文件夹中或/trunk/
的根目录中检入Eclipse。你可以明显地组织一些事情,而不是把所有事情都推到后备箱里,但无论如何这里都是一个例子:
示例:
tags
branches
trunk
|- MyProject (Eclipse project)
| |- php/html/js/whatever files
|
|- MyOtherProject (Eclipse project)
| |- php/html/js/whatever files
|
|- ThirdParty (Also an Eclipse project)
|- All third party libraries that are shared, if you so wish
<强>为什么吗
1)检查随机文件是Eclipse中的一个难题。由于Eclipse中的所有内容都是项目,因此.project
文件规则。因此,签出“文件夹”的人将拥有与您相同的项目配置,从而使开发团队更容易。
2)更好地组织多个项目。您可以只拥有多个文件夹,而不是拥有另一个Web项目的全新存储库。