在CQ中安装包含用户和组的包时出错

时间:2015-01-05 11:14:07

标签: package cq5 aem

我正在尝试在包含用户和组的CQ实例上安装软件包。创建包的路径是/home,不包括admin用户。

请注意,某些用户已经可以在目标CQ实例上使用,这些实例也可以在包中提供。

遇到以下异常,任何帮助/观点:

com.day.jcr.vault.packaging.PackageException: javax.jcr.nodetype.ConstraintViolationException: /home/users/c/chris/.tokens/2014-10-16T12.45.01.614+02.00: mandatory property {internal}token.key does not exist
        at com.day.jcr.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:365)
        at com.day.jcr.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:368)
        at com.day.jcr.vault.packaging.impl.JcrPackageImpl.install(JcrPackageImpl.java:336)
        at com.day.crx.packaging.impl.J2EEPackageManager.consoleInstall(J2EEPackageManager.java:327)
        at com.day.crx.packaging.impl.J2EEPackageManager.doPost(J2EEPackageManager.java:173)
        at com.day.crx.packaging.impl.PackageManagerServlet.doPost(PackageManagerServlet.java:144)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.felix.http.base.internal.handler.ServletHandler.doHandle(ServletHandler.java:96)
        at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:79)
        at org.apache.felix.http.base.internal.dispatch.ServletPipeline.handle(ServletPipeline.java:42)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:49)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:127)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:55)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:263)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:179)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:75)
        at org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:88)
        at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:76)
        at org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
        at org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
        at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
        at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:67)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at com.day.j2ee.servletengine.ServletRuntimeEnvironment.service(ServletRuntimeEnvironment.java:250)
        at com.day.j2ee.servletengine.RequestDispatcherImpl.doFilter(RequestDispatcherImpl.java:321)
        at com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:340)
        at com.day.j2ee.servletengine.RequestDispatcherImpl.service(RequestDispatcherImpl.java:383)
        at com.day.j2ee.servletengine.ServletHandlerImpl.process(ServletHandlerImpl.java:335)
        at com.day.j2ee.servletengine.HttpListener$Worker.run(HttpListener.java:644)
        at java.lang.Thread.run(Thread.java:662)

3 个答案:

答案 0 :(得分:8)

我认为在通过内容包复制用户和组时,应排除.tokens个节点。在创建包时添加排除模式如<exclude pattern="/home/users/.*/.tokens"/>应该会有所帮助。

答案 1 :(得分:0)

使用crx / packmgr创建包时使用/home/users/username/\.tokens作为模式。

答案 2 :(得分:-1)

我解决这个问题的方法是在本地下载软件包。使用.content.xml中的现有标记查找包中的所有用户并删除它们。