我不想这么说,但听起来你已经确定了我所知道的最好的方法。使用 Salesforce 打包环境简直就是一场噩梦。一旦您的受管软件包有了前缀,就真的无法回到没有前缀的普通软件包,除非您像以前那样编写脚本。所以你会发现包名遍布你的代码,系统会为你添加。
我发现使用它的最佳方法是保留应用程序的“纯”版本,它将从 Ant 内干净地安装到开发组织中。一旦您在 Ant 中获得了代码,就可以将其添加到“正常”的源代码控制中。Salesforce 中似乎并没有太多大型应用程序由多个团队成员构建,因为据我所知,对包含源代码控制的工作流的支持并不多。他们尝试将某种类型的发布管理添加到开发组织配置中,该配置现在处于测试阶段,但看起来一点也不好。
我认为 Ant 使用 Salesforce Force.com 迁移工具是大多数情况下要走的路。然后,然而,一旦你想创建一个托管包,你就会被冻结的代码库困在这个前缀上,然后你必须在打包系统中进行打包发布(来自 beta 等)本身。最好的方法是刷新沙箱(每月一次的硬限制!!),然后让开发人员退出该沙箱并部署到单独的开发组织中,然后可以定期合并到“组开发组织”中,之前部署回沙箱(使用 Force.com IDE 或 Ant),然后部署到生产环境。
整个过程基本上是一场彻底的灾难。Salesforce 非常接近拥有一个超级强大的平台,但很多时候感觉就像一辆没有方向盘的超棒跑车。
至于静态资源,您应该能够使用 Eclipse 以一种相对简单的方式自动化这些资源,以便您可以在一个步骤中单独部署它们。API 也应该支持它。
我已经研究过一些相当大的 Apex 代码库(我认为并希望),恐怕真的没有明显的优雅解决方案。在某些情况下,您会遇到使用 Ant 进行部署的奇怪组合,其他情况下使用 Eclipse 等。
来自其他开发环境,它经常令人困惑而且很奇怪。例如,令人困惑的是,您不能在一个步骤中轻松转储数据库,同时跟踪对象之间的关系,然后一步将其“导入”到另一个组织中。实际上,我们必须编写一个工具,以便在遍历对象关系、加载所有数据、递归删除数据等时从 xls 文件中轻松提取所有数据,因为我们需要一种在 orgs 中进行测试的简单方法。
顺便说一句,开发组织基本上是扔掉的组织。我们为不同的测试目的创建了几十个,并保持不同的版本和配置。
对不起,我不能给你更好的消息。这里可能有更多的大师可以指出一种优雅的包装管理方式,我会像答案一样对你感兴趣!如果您想表示同情,可以在 suprasphere --- at --- gmail 给我发电子邮件!:)