编辑Apex类提示类名已使用的问题求助(Trailhead社交登录配置)
Salesforce Apex类保存错误:「Class name is already in use or has been previously used」问题排查与解决
错误成因
- 你要替换的代码中使用的类名Module3RegistrationHandler,已经在当前Salesforce组织中存在(要么是现有类,要么是曾经创建后删除的类——Salesforce会保留已删除类的名称记录,防止命名冲突)。
- 自动生成的注册处理程序类本身有默认类名,你直接替换代码时未确认目标类名的可用性,导致命名重复。
解决步骤
方案一:修改代码中的类名
- 打开要粘贴的代码,将第一行的类定义语句(如
public class Module3RegistrationHandler)修改为一个未被使用过的名称,比如public class MyCustomModule3RegistrationHandler - 回到Apex类编辑页面,粘贴修改后的代码,点击保存即可
方案二:删除旧类后重新创建(仅适用于原自动生成类无保留必要时)
- 在Apex Classes列表中找到自动生成的注册处理程序类,删除该类
- 点击「New」按钮手动创建新Apex类,直接粘贴目标代码并保存
注意:如果类名是曾经删除过的,即使清空回收站,Salesforce仍会保留该名称的占用记录,此时只能选择方案一修改类名。
内容的提问来源于stack exchange,提问作者bdpolinsky
相关产品推荐
相关产品推荐

