diff --git a/arthas-vmtool/pom.xml b/arthas-vmtool/pom.xml index 1d1c95008..b317e18bc 100644 --- a/arthas-vmtool/pom.xml +++ b/arthas-vmtool/pom.xml @@ -161,6 +161,21 @@ + + + + linux-${os.arch} + + + linux + !amd64 + + + + linux + libArthasJniLibrary-${os.arch}.so + + diff --git a/common/src/main/java/com/taobao/arthas/common/OSUtils.java b/common/src/main/java/com/taobao/arthas/common/OSUtils.java index 13189615e..81bb020a3 100644 --- a/common/src/main/java/com/taobao/arthas/common/OSUtils.java +++ b/common/src/main/java/com/taobao/arthas/common/OSUtils.java @@ -71,6 +71,10 @@ public class OSUtils { return "x86_32".equals(arch); } + public static boolean isX86_64() { + return "x86_64".equals(arch); + } + private static String normalizeArch(String value) { value = normalize(value); if (value.matches("^(x8664|amd64|ia32e|em64t|x64)$")) { @@ -127,8 +131,7 @@ public class OSUtils { if ("s390x".equals(value)) { return "s390_64"; } - - return UNKNOWN; + return value; } private static String normalize(String value) { diff --git a/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java b/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java index ff135adfb..f4c4c0748 100644 --- a/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java +++ b/common/src/main/java/com/taobao/arthas/common/VmToolUtils.java @@ -12,11 +12,14 @@ public class VmToolUtils { libName = "libArthasJniLibrary.dylib"; } if (OSUtils.isLinux()) { - libName = "libArthasJniLibrary-x64.so"; if (OSUtils.isArm32()) { libName = "libArthasJniLibrary-arm.so"; } else if (OSUtils.isArm64()) { libName = "libArthasJniLibrary-aarch64.so"; + } else if (OSUtils.isX86_64()) { + libName = "libArthasJniLibrary-x64.so"; + }else { + libName = "libArthasJniLibrary-" + OSUtils.arch() + ".so"; } } if (OSUtils.isWindows()) { diff --git a/packaging/src/main/assembly/assembly.xml b/packaging/src/main/assembly/assembly.xml index 121523e78..00b823d40 100644 --- a/packaging/src/main/assembly/assembly.xml +++ b/packaging/src/main/assembly/assembly.xml @@ -57,6 +57,7 @@ ../bin/as-service.bat + @@ -66,5 +67,12 @@ ../lib + + ../arthas-vmtool/target + lib + + libArthasJniLibrary* + +