0

在运行 groovy 脚本作为任务以创建角色后:

security.addRole(// id
                 roleDeveloper, 
                 // name
                 roleDeveloper, 
                 // description
                 "A developer on ${repoCap} group",
                 // privileges
                 ["nx-repository-view-maven2-${repo}-dependencies-browse",
                  "nx-repository-view-maven2-${repo}-dependencies-read"],
                 // roles
                 ["dw-all-public-repos"])

我无法访问角色菜单。我收到以下错误:

com.orientechnologies.orient.core.exception.ODatabaseException: Error on deserialization of Serializable DB name="security"
[...]
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.GStringImpl
  at java.net.URLClassLoader.findClass(URLClassLoader.java:381) [na:1.8.0_91]
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424) [na:1.8.0_91]
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [na:1.8.0_91]
  at org.apache.felix.framework.BundleWiringImpl.doImplicitBootDelegation(BundleWiringImpl.java:1782) [na:na]
  at org.apache.felix.framework.BundleWiringImpl.searchDynamicImports(BundleWiringImpl.java:1717) [na:na]
  at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1552) [na:na]
  at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79) [na:na]
  at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018) [na:na]

在 Nexus (3.x) 的多个版本上运行多个测试(有和没有字符串插值)后,看起来某些参数支持字符串插值,但权限参数不支持。

这是一个已知问题吗?

由于上述错误,现在我的角色菜单无法访问,有没有办法解决它?(我试图用脚本删除它,但它失败了,因为删除先执行加载

4

1 回答 1

1

对不起亚历山大的问题。看起来您必须直接连接到数据库才能修复有问题的记录。有关如何使用 Nexus 离线执行此操作的说明如下:https: //support.sonatype.com/hc/en-us/articles/115002930827-Accessing-the-OrientDB-Console

特别是您要连接的数据库是“安全性”:

connect plocal:data/db/security admin admin

您需要检查/删除的表是“特权”和“角色”。如果您遇到问题或有任何后续问题,我会在这里密切关注。

于 2017-03-30T17:12:49.477 回答