frontend-maven-plugin检测到错误的体系结构,从而导致错误的节点下载url

时间:2018-08-16 06:47:47

标签: node.js angular maven plugins frontend

我们的Jenkins Linux服务器上的构建失败,因为该插件检测到错误的体系结构。 它检测到x86而不是x64,并且node不再为Linux提供x86版本,因此下载失败!

这是插件生成的输出:

[INFO] Node v8.9.4 was installed, but we need version v10.8.0
[INFO] Installing node version v10.8.0
[INFO] Downloading https://nodejs.org/dist/v10.8.0/node-v10.8.0-linux-x86.tar.gz to /home/tadmin/.m2/repository/com/github/eirslett/node/10.8.0/node-10.8.0-linux-x86.tar.gz

导致404错误,因为此版本不存在。 服务器正在使用以下配置运行JDK 1.8:

java -XshowSettings:properties -version
    os.arch = amd64
    os.name = Linux
    os.version = 3.10.0-862.el7.x86_64

我检查了用于检测体系结构的插件的源代码,未发现任何错误:

enum Architecture { x86, x64, ppc64le, s390x, arm64;
    public static Architecture guess(){
        String arch = System.getProperty("os.arch");
        if (arch.equals("ppc64le")) {
            return ppc64le;
        } else if (arch.equals("aarch64")) {
            return arm64;
        } else if (arch.equals("s390x")) {
                return s390x;       
        } else {
            return arch.contains("64") ? x64 : x86;
        }
    }
}

在我的Windows计算机上,可以正确检测到体系结构。

也许有人也遇到了这个问题,可以在这里帮助我吗?

1 个答案:

答案 0 :(得分:0)

因此,在经过更多的调试时间后,事实证明我们的运营团队(出于某种原因)在机器上安装了另一个JDK,然后在构建过程中使用了它。

切换到通常的JDK后,此问题消失了。