工件不要以非法的回购名称开头

时间:2019-05-13 13:18:49

标签: artifactory

我有一个非法的存储库名称,该名称以数字开头。 这是一个古老的仓库,是使用API​​请求创建的(在Artifactory 6.5.1版本中)

Artifactory接受带有API请求的非法名称,但是如果您重新启动工件,它就会失败

所以我的问题和这里一样: https://www.jfrog.com/jira/browse/RTFACT-16669

除非该解决方案对我不起作用。

因为我的实例/服务器是新服务器,所以我没有本地存储库中的$ ARTIFACTORY_HOME / etc / artifactory.config.latest.xml文件。

我在AWS S3和AWS RDS数据库上拥有存储库

我的新AWS EC2实例必须在S3上获取存储库

我的问题是:

我可以开始忽略不良回购的人工产物吗?

我可以在不启动工件的情况下删除存储库吗? (没有API请求或GUI)

日志在这里:

    2019-05-13 14:37:11,581 [art-init] [ERROR] (o.a.c.CentralConfigServiceImpl:744) - Could not load configuration due to: Failed to read object from stream

    java.lang.RuntimeException: Failed to read object from stream

    at org.artifactory.jaxb.JaxbHelper.read(JaxbHelper.java:131)

    at org.artifactory.jaxb.JaxbHelper.readConfig(JaxbHelper.java:66)

    at org.artifactory.descriptor.reader.CentralConfigReader.readAndConvert(CentralConfigReader.java:76)

等...

Caused by: javax.xml.bind.UnmarshalException: null

    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:335)

    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:578)

    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:264)

    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:229)

    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)

    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:125)

    at org.artifactory.jaxb.JaxbHelper.read(JaxbHelper.java:129)
    ... 56 common frames omitted

Caused by: org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: '0ta' is not a valid value for 'NCName'.

等...

[art-init] [ERROR] (o.a.w.s.ArtifactoryContextConfigListener:96) - Application could not be initialized: null
java.lang.reflect.InvocationTargetException: null

等...

Caused by: org.springframework.beans.factory.BeanInitializationException: Failed to initialize bean 'org.artifactory.security.access.AccessService'.; nested exception is com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException

等...

[http-nio-8081-exec-2] [ERROR] (o.a.w.s.ArtifactoryFilter:194) - Artifactory failed to initialize: Context is null

谢谢

西里尔

1 个答案:

答案 0 :(得分:1)

Artifactory配置描述符存储在Artifactory DB模式中名为configs的表下。 为了克服这个问题,您可以执行以下操作:

  1. artifactory.config.xml表中提取configs配置
  2. 将提取的配置作为文件存储在$ARTIFACTORY_HOME/etc/artifactory.config.import.xml
  3. 编辑artifactory.config.import.xml文件并从配置文件中手动修复/删除“ 0ta”存储库引用
  4. 修改描述符后,重新启动Artifactory服务。

注意,如果您已经为非法回购名称分配了工件,则在修改存储库名称后将无法看到它们,但是,由于它是新安装的,不确定这与您是否相关。