基本自定义 > Windchill 自定义基础 > 管理自定义 > PTC 提供的文件自定义最佳做法 > 管理客户端 JAR 文件 > 重用现有根 JAR > 在维护版本中更新客户端 JAR
  
在维护版本中更新客户端 JAR
由于逻辑 JAR 中包含 DSU JAR,因此客户端只需下载作为维护版本 (以及新的根头 JAR) 的一部分添加或更改的资源,而不是整个客户端 JAR 集。
已通过以下命令自动执行在维护版本中重新构建客户端 JAR 的过程 (请注意,此命令会在新的或已更新的 DSU JAR 需要时重新构建自定义 JAR):
ant -f MakeJar.xml dsuUpdate
此命令将执行以下触发器:
createCodebaseDsuBOM:获取代码库包含的 codebase\..\*_bom.txt BOM 文件中的条目,并将其置于 jarContents\DSU.bom 中,但相对于代码库进行写入 (即从每个条目中移除 "codebase\")。
updateDSUIncludes:将每个 FCS .includes 文件与 jarContents/DSU.bom 相交,并将交集添加到对应的 DSU .includes 文件。
updateCustIncludes:将每个 FCS .includes 和 DSU .includes 文件对与 jarContents/Cust.bom 相交,并将交集添加到对应的 Customization .includes 文件中
expandJarLocales:对于在 DSU 和 FCS .includes 中由 by _en localization 表示的资源束,将在 jarContents/clientJarLocales 中请求的其他本地化放入 Customization.includes
removeNonexistantDsuAndCustEntries:移除代码库中找不到的 Customization .includes 和 DSU .includes 文件中的所有条目。
buildDSUClientJars:重新构建所有 DSU 和自定义 jar 组件。同时构建作为这些 JAR 父项 (直接或间接) 的所有已设置索引的头 JAR。
Foundation 资源和 jar 的 dsuUpdate 将仅忽略以下步骤:
因某些原因 (例如,之前缺少的条目、新类等),需要添加任何新 DSU jar 条目,但由于位于 DSU BOM 和 FCS jar 内容交集中的情况除外。
包括包含 DSU 更改的文件的 codebase\..\*_bom.txt 文件
应将这两个步骤作为维护版本本身的一部分提供 (例如,更新的 DSU .includes 文件和 foo_bom.txt 文件)。
更新自定义客户端 JAR
自定义 JAR 组件用于对预设的 JAR 集进行自定义添加和覆盖,因为这些组件将优先于对应的 DSU 和 FCS 组件进行加载。
客户或自定义者可向所需的任何 Customization.includes 文件添加条目,并通过以下方式重新构建对应的 JAR:
ant -f MakeJar.xml buildCustClientJars
-DlogicalJarNames=jar1,jar2,…
其中 "jar1,jar2,…" 应替换为应重新构建自定义组件的逻辑 JAR 列表。
但是,通常,客户可能具有多个已覆盖文件,只希望更新客户端 JAR 以将此考虑在内。要实现此目的,可在 codebase\jarContents\Cust.bom 中列出已覆盖/自定义的文件,然后执行以下命令:
ant -f MakeJar.xml custUpdate
此命令将执行以下触发器:
updateCustIncludes:将每个 FCS .includes 和 DSU .includes 文件对与 jarContents/Cust.bom 相交,并将交集添加到对应的 Customization .includes 文件中。请注意,Cust.bom 包含几个系统预设的最不稳定条目 (例如,在生成代码期间重新生成的特性文件)。
expandJarLocales:对于在 DSU 和 FCS .includes 中由 by _en localization 表示的资源束,将在 jarContents/clientJarLocales 中请求的其他本地化放入 Customization.includes
buildCustClientJars:重新构建所有自定义 JAR 组件。同时构建作为这些 JAR 父项 (直接或间接) 的所有已设置索引的头 JAR。
此外,可通过按与先前章节所述的大致相同的方式继续构建新的客户端 JAR 集来支持更广泛的客户端自定义。