项目描述文件

描述:当在工作区中创建了项目时, 就会自动生成描述该项目的项目描述文件。此文件的目的是使项目是自描述的, 以便可以在另一工作区中正确地重新创建已压缩或发布至服务器的项目。 此文件始终称为“.project”并作为项目的内容区域的直接成员位于该工作区中。 文件的名称是通过 org.eclipse.core.resources.IProjectDescription 上的 static 字段 DESCRIPTION_FILE_NAME 显示的。

此文件的名称、位置和内容都是工作区 API 的一部分。这意味着保证不会以破坏文件的现有用户的方式更改它们。然而,保留了将附加元素和属性添加至标记的权利以便将来可能添加文件。由于此原因,读取描述文件内容的客户机应该允许未知的元素和属性。

修改、删除或替换项目描述文件的客户机自行承担这样做的风险。具有无效或丢失描述文件的项目通常将不可用。如果在工作区启动时发现了具有无效描述文件的项目,则会关闭该项目并且将不能打开它,直到修复了项目描述文件为止。工作区通常不会尝试自动修复丢失或无效的描述文件。一个例外情况是在工作区保存和调用 IProject.setDescription 时将重新生成丢失的项目描述文件。

修改项目描述文件基本上与通过 IProject.setDescription 来更改项目描述具有相同的效果。一个例外情况是添加或除去项目性质将不会触发相应的性质配置或取消配置方法。另一个例外情况是会忽略对项目名所作的更改。

果新项目是在包含现有项目描述文件的位置上创建的,则将认为该描述文件的内容是项目描述。一个例外情况是如果文件中的项目名与正在创建的项目的名称不匹配,则将忽略该项目名。如果磁盘上的描述文件无效,则项目创建将失败。


 

配置标记:

   <!ELEMENT projectDescription (name, comment, projects, buildSpec, natures, linkedResources)>

   <!ELEMENT name EMPTY>

   <!ELEMENT comment EMPTY>

   <!ELEMENT projects (project)*>
   <!ELEMENT project EMPTY>    <!ELEMENT buildSpec (buildCommand)*>

   <!ELEMENT buildCommand (name, arguments)>

   <!ELEMENT name EMPTY>

   <!ELEMENT arguments (dictionary?)>

   <!ELEMENT dictionary (key, value)*>

   <!ELEMENT key EMPTY>

   <!ELEMENT value EMPTY>

   <!ELEMENT natures (nature)*>

   <!ELEMENT nature EMPTY>

   <!ELEMENT linkedResources (link)*>

   <!ELEMENT link (name, type, location)>

   <!ELEMENT name EMPTY>

   <!ELEMENT type EMPTY>

   <!ELEMENT location EMPTY>

示例:以下是一个样本项目描述文件。该项目配置了单个性质和构建器以及一些项目引用。

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>WinterProject</name>
    <comment>This is a cool project.</comment>
    <projects>
        <project>org.seasons.sdt</project>
        <project>CoolStuff</project>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.seasons.sdt.seasonBuilder</name>
            <arguments>
                <dictionary>
                    <key>climate</key>
                    <value>cold</value>
                </dictionary>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.seasons.sdt.seasonNature</nature>
    </natures>
</projectDescription>
 

API 信息:项目描述文件的内容映射至 org.eclipse.core.resources.IProjectDescription 接口。可以使用方法 IProject.setDescription() 来覆盖项目描述文件。

Copyright IBM Corporation and others 2000, 2003.