aem - CQ5中如何定义一个卸载旧代码的包?

标签 aem

有没有人能够成功使用 CQ5 包管理器中的替换依赖项过滤器来卸载/删除旧代码? http://dev.day.com/docs/en/crx/current/how_to/package_manager.html

我最近重组了我的目录,并试图找到一种简单的方法来卸载旧的分支。

换句话说,我目前正在与:

/apps/myproject/old_directory

但想过渡到:

/apps/myproject/new_directory

就像我说的,我尝试用旧的包名设置替换依赖过滤器。它似乎正在工作,因为它说“替换 my_packages:oldPackage:1”,这是一个有效的链接。但是,运行安装对预先存在的代码库没有任何影响。

我意识到我可以手动卸载原始包,但这将被添加到包共享中,所以我想确保任何当前用户都可以安装升级而不必担心未使用的代码。

我目前正在使用 CQ 5.4

最佳答案

要使用 CQ5 包删除内容分支,您需要一个包:

  • 指向要删除的内容分支的过滤器定义
  • 没有 该分支中的任何内容

  • 换句话说,您可以创建一个空包,其中过滤器定义指向要删除的区域。您可以在空实例上执行此操作,也可以手动将 filter.xml 条目编辑为以下内容:
    <?xml version="1.0" encoding="UTF-8"?>
    <workspaceFilter version="1.0">
        <filter root="/apps/myproject/new_directory"/>
    </workspaceFilter>
    

    安装此类包会删除指定路径下的内容。此操作无法撤消。这适用于所有 CQ5 版本。

    关于aem - CQ5中如何定义一个卸载旧代码的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16929214/

    相关文章:

    java - CQ5 : 403 Forbidden occurs when call a Post servlet

    javascript - 名称的正则表达式模式在 adobe cq5 中不起作用

    javascript - 如何调用客户端库的特定js文件?

    aem - 如何在视觉代码中为 HTML 属性添加条件逻辑

    mysql - 在 CQ5 中,如何连接外部数据库代替 JCR?

    aem - 如何避免在 CQ 中页面的所有链接中硬编码 .html 扩展名?

    Maven 无法找到 AEM 原型(prototype)

    configuration - 为 CQ 存储特定于环境的 OSGI 配置

    aem - 如何在 data-sly-list 中添加条件元素?

    less - AEM 6.1 LESS 版本