JAVA中文站社区门户X5o+B8zO#[F这个文章基本是"Building Project Facets"
中文版
6pvcS#V!Bl@M
E0TC Wi在WTP中创建Dynamic Web Project工程
时候提供了Project Facets
功能,它让用户在创建web项目
时候,可以像搭积木
下给我们创建
project添加各种功能模块,下面我们通过
个例子来讲解
下WTP中
Project Facets
使用方法
;NBEbVZ/X*h
JAVA中文站社区门户w9y?"x
z通常我们给创建
工程可能添加以下元素:资源文件, Builder, Nature标识等, 我们知道Eclipse本身提供了
个Nature
功能,但是Facets跟Nature是有区别
, 给工程添加Nature是用来给Eclipse底层
工具使用
,而Facets是用来给最终用户使用
, 通常Facets提供
模块都是自描述
,这样可以保证用户在使用
时候,避免添加不必要
Facet模块, 而且对于我们开发者而言也避免了在新建向导中插入新
wizard page以及避免通过右键菜单来给工程添加或者去掉某模块,从而大大简化了开发人员
工作量, 因此Facets对用户和开发者来说都是
个不错
选择
JAVA中文站社区门户uDWyL
JAVA中文站社区门户a1K|,R9m:bf下面我们结合
个名为FormGen
例子来介绍, FormGen用来在我们创建
web工程中,加入
些我们自己
jar包以及修改web.xml文件
JAVA中文站社区门户r5|`)_4Z?/P o
JAVA中文站社区门户n8jL
cw#?P%O废话少说,先在插件工程中添加org.eclipse.wst.common.project.facet.core.facets 扩展点, 当然这里需要在依赖中加入org.eclipse.wst.common.project.facet.core引用,该扩展点包罗万象,这里我们遵循循序渐进
原则,从最最简单
内容开始:
N8X OK@MF5xq,[s {@ {k
xml 代码
=dp-xml>
=alt>
=tag><=tag-name>extension
=attribute>po
==attribute-value>"org.eclipse.wst.common.project.facet.core.facets"
=tag>>
="">
=alt>
=tag><
=tag-name>project-facet
=attribute>id
==attribute-value>"{
}"
=tag>>
(0 or more)
="">
=tag><
=tag-name>label
=tag>>
{}=tag>
=tag-name>label
=tag>>
=alt>
=tag><
=tag-name>description
=tag>>
{}=tag>
=tag-name>description
=tag>>
(optional)
="">
=tag>
=tag-name>project-facet
=tag>>
=alt>
="">
=tag><
=tag-name>project-facet-version
=attribute>facet
==attribute-value>"{
}"
=attribute>version
==attribute-value>"{
}"
=tag>/>
(0 or more)
=alt>
="">
=tag>
=tag-name>extension
=tag>>
J%EMU-~这里加入了两个节点:project-facet是我们要加入
facet, project-facet-version用来制定我们
facet版本, 每
个facet至少需要给它指定
个版本,否则不可用, 后面大家就会知道,实际上我们大部分工作都集中在project-facet-version中配置, 配置后
代码如下:
f(a;ZE%E+^ Or$pf1Ln%LRu+X
xml 代码
=dp-xml>
=alt>
=tag><=tag-name>extension
=attribute>po
==attribute-value>"org.eclipse.wst.common.project.facet.core.facets"
=tag>>
="">
=alt>
=tag><
=tag-name>project-facet
=attribute>id
==attribute-value>"formgen.core"
=tag>>
="">
=tag><
=tag-name>label
=tag>>
FormGen Core=tag>
=tag-name>label
=tag>>
=alt>
=tag><
=tag-name>description
=tag>>
="">
Enables generation of HTML forms based on XML definition files.
=alt>
=tag>
=tag-name>description
=tag>>
="">
=tag>
=tag-name>project-facet
=tag>>
=alt>
="">
=tag><
=tag-name>project-facet-version
=attribute>facet
==attribute-value>"formgen.core"
=attribute>version
==attribute-value>"1.0"
=tag>/>
=alt>
="">
=tag><
=tag-name>project-facet
=attribute>id
==attribute-value>"formgen.ext"
=tag>>
=alt>
=tag><
=tag-name>label
=tag>>
FormGen Extensions=tag>
=tag-name>label
=tag>>
="">
=tag><
=tag-name>description
=tag>>
=alt>
Enables additional FormGen widgets.
="">
=tag>
=tag-name>description
=tag>>
=alt>
=tag>
=tag-name>project-facet
=tag>>
="">
=alt>
=tag><
=tag-name>project-facet-version
=attribute>facet
==attribute-value>"formgen.ext"
=attribute>version
==attribute-value>"1.0"
=tag>/>
="">
=alt>
=tag>
=tag-name>extension
=tag>>
JAVA中文站社区门户F@ SQ j设置好后运行我们
插件项目,创建
个Dynamic Web Project, 在向导中第
个页面
Target Runtime设置为none,继续进入到下
个页面,这时在下面
列表中就会出现我们添加
两个facet
JAVA中文站社区门户JxJ.Bw Qa6a"_