钥匙斗篷:"Failed to read artifact descriptor" 错误

keycloak: "Failed to read artifact descriptor" error

我正在使用基于 Java 的 Keycloak 服务器并尝试 运行 演示示例。我有点 Java hack,所以请原谅我的天真。

我收到如下所示的错误 -- 任何调试和解决帮助都将不胜感激。

ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-7) Uncaught server error: java.lang.RuntimeException: org.eclipse.aether.collection.DependencyCollectionException: Failed to read artifact descriptor for org.keycloak:photoz-authz-policy:jar:3.4.3.Final

我在设置 M2_HOME 以便 keycloak 可以定位工件时遇到了一些问题。我现在似乎已经解决了这个问题,但我不确定上述错误应该去哪里。我在下面包含了一些系统信息。如果有人真的很渴望,dockerfile is available.

我是 Maven 的 运行ning v3.5.3:

$ mvn --version
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T19:49:05Z)
Maven home: /usr/local/apache-maven
Java version: 1.8.0_151, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.9.60-linuxkit-aufs", arch: "amd64", family: "unix" 

我 运行 mvn -U clean install 在项目目录中,工件似乎已正确构建:

[jboss@09fea4c663e0 ~]$ ll .m2/repository/org/keycloak/photoz-authz-policy/3.4.3.Final/
total 44
-rw-r--r-- 1 jboss jboss 5169 Mar 28 17:16 photoz-authz-policy-3.4.3.Final.jar
-rw-r--r-- 1 jboss jboss   32 Mar 28 17:16 photoz-authz-policy-3.4.3.Final.jar.md5
-rw-r--r-- 1 jboss jboss   40 Mar 28 17:16 photoz-authz-policy-3.4.3.Final.jar.sha1
-rw-r--r-- 1 jboss jboss  773 Jan  4 09:24 photoz-authz-policy-3.4.3.Final.pom
-rw-r--r-- 1 jboss jboss   32 Mar 28 17:16 photoz-authz-policy-3.4.3.Final.pom.md5
-rw-r--r-- 1 jboss jboss   40 Mar 28 17:16 photoz-authz-policy-3.4.3.Final.pom.sha1
-rw-r--r-- 1 jboss jboss 3859 Mar 28 17:16 photoz-authz-policy-3.4.3.Final-sources.jar
-rw-r--r-- 1 jboss jboss   32 Mar 28 17:16 photoz-authz-policy-3.4.3.Final-sources.jar.md5
-rw-r--r-- 1 jboss jboss   40 Mar 28 17:16 photoz-authz-policy-3.4.3.Final-sources.jar.sha1
-rw-r--r-- 1 jboss jboss  262 Mar 28 17:16 _remote.repositories

最后,这是与工件关联的元数据:

[jboss@09fea4c663e0 ~]$ cat .m2/repository/org/keycloak/photoz-authz-policy/maven-metadata-local.xml 
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <groupId>org.keycloak</groupId>
  <artifactId>photoz-authz-policy</artifactId>
  <versioning>
    <release>3.4.3.Final</release>
    <versions>
      <version>3.4.3.Final</version>
    </versions>
    <lastUpdated>20180328171633</lastUpdated>
  </versioning>
</metadata>

有什么见解吗?

通过将项目文件复制到服务器并在服务器上编译,我能够将示例获取到 运行。对我来说,这似乎是 st运行ge -- 一个胖 WAR 似乎更有意义。也就是说,我不希望必须在服务器上编译支持库,但这种策略让我继续前进。这是我 运行 在我的 wildfly 服务器上的命令(Dockerfile 命令):

# Build and install keycloak example libraries
WORKDIR /opt/jboss
USER jboss
COPY --chown=jboss:jboss _srv/keycloak-demo-3.4.3.Final ./_srv/keycloak-demo-3.4.3.Final
WORKDIR _srv/keycloak-demo-3.4.3.Final/examples
RUN mvn -U clean install
WORKDIR /opt/jboss