0

0

Salesforce的package.xml文件怎么写

幻夢星雲

幻夢星雲

发布时间:2025-12-25 11:36:08

|

794人浏览过

|

来源于php中文网

原创

package.xml核心是先明确部署内容再严格遵循结构与命名规则;必须含、、三部分,version须与目标org API版本完全一致(如60.0),name和members大小写敏感且须真实存在。

salesforce的package.xml文件怎么写

直接写 package.xml 的核心是:**先明确要部署什么,再按 Salesforce 要求的结构和命名规则填进去,漏掉 version 或类型名拼错,整个部署就会失败。**

必须包含的根元素和 version 字段

package.xml 是一个最小契约文件,不是可选配置——它告诉 Salesforce “我要部署哪些元数据”,且必须严格遵循 XML Schema。最简合法结构只有三部分:

  • 必须与目标 org 的 API 版本完全一致,比如 org 是 Spring ’24(API v60.0),这里就得写 60.0,写成 6060.0.0 都会报错 INVALID_VERSION
  • 没有 块,或 为空,部署会成功但什么也不做;想部署任何东西,都得有至少一个
  • xmlns 属性不能省,必须是 http://soap.sforce.com/2006/04/metadata

types 块里 name 和 members 的写法规则

每个 块对应一种元数据类型(如 ApexClass、CustomObject), 是类型名(大小写敏感), 是具体成员名(也大小写敏感,且必须是实际存在的名字)。

  • ApexClass 正确;apexclassApex_Class 都会报 INVALID_TYPE
  • MyTriggerHandler —— 这个类名必须在源代码中真实存在,且大小写完全匹配;Salesforce 不接受通配符(如 My*),也不支持正则
  • 多个成员用多个 标签,不是用逗号分隔:
    
      AccountTrigger
      ContactTrigger
      ApexTrigger
    

常见元数据类型的 name 值和典型 members 示例

不同元数据类型在 package.xml 中的 值和 写法差异很大,容易混淆的是自定义对象、字段、标签这些带后缀的类型:

魔法映像企业网站管理系统
魔法映像企业网站管理系统

技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作

下载
  • 自定义对象: CustomObjectAccount__c(注意是对象 API 名,不是标签名)
  • 自定义字段:必须和对象一起部署,不单独列在 里;字段定义包含在 Account__c.object 文件中,package.xml 只需声明对象本身
  • 标签: CustomLabelMy_Custom_Label(标签名,不是标签值)
  • Permission Set: PermissionSetSales_Executive(API 名,非界面上显示的“销售主管”)
  • Lightning Web Component: LightningComponentBundlemyCounter(bundle 文件夹名)

别忽略 package.xml 的存放位置和大小限制

这个文件本身不参与部署内容,但它必须放在部署包的根目录下(和 src/ 同级或作为 zip 包顶层文件),且整个部署包解压后不能超过 50MB(含 package.xml)。

  • 如果用 SFDX,sfdx force:source:deploy 会自动帮你生成 package.xml,你通常不需要手写;但用 Ant Migration Tool 或手动 zip 部署时,必须自己维护
  • 部署大量小文件(比如几百个 LWC)时,package.xml 里的 行数可能上千,XML 解析可能超时;这时建议拆分成多个小包,而不是堆在一个文件里
  • 不要把 package.xml 放进 src/ 目录里——它不属于源代码,而是部署指令,放错位置会导致工具误判或部署失败

真正难的不是语法,而是搞清你要部署的每个 在目标 org 里是否存在、名字是否精确匹配、依赖是否已包含——比如部署一个 Apex Class 引用了某个尚未部署的 Custom Field,package.xml 写得再对也没用。

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

94

2025.08.06

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

293

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

216

2025.10.31

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1835

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2078

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

910

2024.11.28

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

357

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

558

2023.08.10

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

10

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 2.9万人学习

Pandas 教程
Pandas 教程

共15课时 | 0.8万人学习

ASP 教程
ASP 教程

共34课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号