Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Eclipse删除Salesforce Enterprise Edition中的Apex类?_Salesforce - Fatal编程技术网

如何使用Eclipse删除Salesforce Enterprise Edition中的Apex类?

如何使用Eclipse删除Salesforce Enterprise Edition中的Apex类?,salesforce,Salesforce,如何使用Eclipse在Salesforce Enterprise Edition中删除Apex类和触发器?要使用Eclipse从生产组织中删除触发器,您需要使用以下步骤(假设您有一个沙盒组织): 通过沙盒组织中的web界面,禁用触发器 在eclipse中刷新您的沙盒项目,并将非活动触发器部署到生产环境中 在eclipse中刷新生产项目,右键单击触发器并选择delete 接受从服务器中删除的选项 我相信上述步骤会奏效,但我只使用破坏性更改&Ant迁移工具包从生产组织中删除了组件 要使用进行破坏性

如何使用Eclipse在Salesforce Enterprise Edition中删除Apex类和触发器?

要使用Eclipse从生产组织中删除触发器,您需要使用以下步骤(假设您有一个沙盒组织):

  • 通过沙盒组织中的web界面,禁用触发器
  • 在eclipse中刷新您的沙盒项目,并将非活动触发器部署到生产环境中
  • 在eclipse中刷新生产项目,右键单击触发器并选择delete
  • 接受从服务器中删除的选项
  • 我相信上述步骤会奏效,但我只使用破坏性更改&Ant迁移工具包从生产组织中删除了组件

    要使用进行破坏性更改,您需要将destructivechange.xml文件设置为如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <Package xmlns="http://soap.sforce.com/2006/04/metadata">
        <types>
            <members>MyTrigger</members>
            <name>ApexTrigger</name>
        </types>
        <version>21.0</version>
    </Package>
    
    
    我的触发器
    阿佩克斯特里格
    21
    

    这里有关于如何在developerforce上运行的完整说明。

    我有一个几乎重复的问题,并在这里登陆。我想从我的生产组织中删除一个只有Force.com IDE(Eclipse)的类。Inediger描述了如何使用Ant迁移工具包部署破坏性更改集,并猜测了如何在Force.com IDE中进行部署。在我尝试使用Force.com IDE版本20.0时,Inediger的步骤3和4将阻止您删除生产组织中的类/触发器

    下面是删除Force.com IDE中的类的自然尝试:

    • 单击该类。按delete
    • “是否确实要删除文件‘myClass.cls’?”。。。嗯
    • “请求的操作将仅在本地删除资源。是否还要从服务器上删除资源?”。。。对
    此时,该文件将从您的项目和开发组织中删除,但它仍保留在您的生产组织中(管理员web界面不允许您将其删除),因此您可以继续:

    • 部署到服务器
    • 输入生产组织凭据
    • 下一个。下一个
    • 在部署候选列表中查找您的类——但它不在那里
    不幸的是,您的类不会与部署候选项一起列出,因为Force.com IDE已经失去了对该文件的跟踪(因为您删除了该文件——如果您在这条船上,请在您的开发组织中重新创建该类,并按照下面的说明操作)

    在本地删除文件之前,我们需要在生产环境中进行删除(我认为我们正在Force.com IDE中构建一个破坏性的更改集并为我们部署它):

  • 编辑类的匹配*-meta.xml文件(来自Force.com IDE)
  • 将状态设置为已删除:已删除。保存
  • 右键单击类Force.com |部署到服务器
  • 输入生产组织的凭据
  • 您应该将您的类视为唯一的候选部署
  • 选中“应用操作”框以覆盖您的类
  • 接下来,您将完成向导的其余部分
  • 如果您在Salesforce admin网页中进行跟踪,您会注意到在步骤2中保存后,该类将从您的开发组织中消失。当您在第7步后获得绿色复选标记时,它将从您的生产组织中消失


    最后,我像往常一样从Force.com IDE中删除了该类。当它问我是否要从服务器上删除该文件时,我说不,因为我们已经处理好了。我还添加/删除元数据组件并取消选中类名以消除警告消息。

    最简单的方法是从Eclipse中的项目中删除该文件(不从服务器中删除,因为这样做不起作用),然后右键单击文件夹(即触发器/类)并选择“部署到服务器”


    当显示希望部署的对话框出现时,相关类/触发器将突出显示为红色行,这意味着您可以检查是否从生产组织中删除该类。

    从Eclipse中执行此操作的最简单方法是编辑要删除的类的-meta.xml文件。您只需将“状态”字段从“活动”更改为“已删除”


    保存-meta.xml文件时,相应的类将立即从生产组织中删除。类和.xml文件仍将位于您的本地Eclipse文件夹中,但您可以在本地删除它们。

    我尝试过的方法之一是:

    1) 进入触发器[in Force.com IDE]的元XML文件,并将状态值设置为“Delete”

    2) 然后在保存该.xml文件后,我将触发器部署到生产环境中


    我知道应该删除这个文件。我也使用了一个类文件,但不幸的是,这是一个测试类文件,我忘了删除测试文件提供测试覆盖率的其他相关文件,因此由于这个错误,我失去了显著的总体累积测试覆盖率。幸运的是,我在删除该文件之前保存了该文件,并能够将修改后的测试类重新部署到生产环境中,一切又恢复正常。

    也许我做得不对,但当我尝试将这些元文件部署到生产环境中时,我会遇到以下错误:sf:无效\u操作:无效\u操作:testLevel of NoTestRun无法在生产环境中使用组织这是一个古老的答案,我已经有一段时间没有在prod中使用delete了。这种方法在我看来是合法的,而且是最近才出现的:在生产和沙箱上经过了尝试和测试