龙芯平台Java应用迁移指南


龙芯平台Java应用迁移常见问题

  1. Java环境配置有误导致应用无法启动

  2. 应用中包含架构相关的so库,导致应用无法启动

  3. 其他问题

解决方案

用户将Java应用迁移到龙芯平台过程中,如遇到Java应用程序无法正常工作的情况,可按如下步骤排查:

检查Java环境变量配置

请参照安装说明进行配置

检查应用是否包含架构相关so

使用如下脚本检查应用中是否包括架构相关so:

```sh
#!/bin/bash

JAR_DIR="/path/to/application"

if [ ! -d "$JAR_DIR" ]; then
    echo "目录 $JAR_DIR 不存在!"
    exit 1
fi

find "$JAR_DIR" -type f -name "*.jar" | while read jar_file; do
    if unzip -l "$jar_file" | grep -q -E "\.so$"; then
        echo "$jar_file 包含 .so 文件"
    fi
done
```

脚本执行后会列出所有包含架构相关so的jar包,比如:

```sh
loongson@loongson-pc:~/app$ bash check-jar.sh
/home/loongson/app/elasticsearch-8.1.1/lib/jna-5.10.0.jar 包含 .so 文件
/home/loongson/app/elasticsearch-8.1.1/lib/lz4-java-1.8.0.jar 包含 .so 文件
/home/loongson/app/elasticsearch-8.1.1/lib/tools/ansi-console/jansi-2.4.0.jar 包含 .so 文件
```

根据检查脚本可知,elasticsearch-8.1.1依赖了jna、lz4-java和jansi,从龙芯maven仓库下载缺失的jar包。如果龙芯maven仓库尚未支持,请联系我们

从龙芯maven仓库下载缺失的jar包

  1. 确定jar包的groupId

    中央仓库中检索,在检索栏输入缺失jar包名字,如下图所示,jna的groupId为net.java.dev.jna:

    undefined
  2. 确定龙芯maven仓库地址

    如果当前系统兼容Linux 4.19内核,龙芯maven仓库地址为:https://maven.loongnix.cn/loongarchabi1/maven/

     uname -a
     Linux loongson-pc 4.19.0-19-loongson-3 #1 SMP 4.19.190.8.23 Wed Nov 13 08:38:47 UTC 2024 loongarch64 loongarch64 loongarch64 GNU/Linux
    

    如果当前系统兼容Linux5.10.0内核及以上,龙芯maven仓库地址为:https://maven.loongnix.cn/loongarch/maven/

     uname -a
     Linux localhost.localdomain 5.10.0-60.110.0.137.oe2203.loongarch64 #1 SMP Wed Sep 6 07:02:03 UTC 2023 loongarch64 loongarch64 loongarch64 GNU/Linux
    
  3. 获取对应jar包

    根据jar的groupId和龙芯maven仓库地址获取对应jar包,比如:

    在兼容Linux 4.19内核系统上,获取jna的地址为:https://maven.loongnix.cn/loongarchabi1/maven/net/java/dev/jna

    在兼容Linux 5.10.0内核及以上系统上,获取jna的地址为:https://maven.loongnix.cn/loongarch/maven/net/java/dev/jna

其他问题

此类问题可能需要具体分析,请联系我们


©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2025-01-06 11:24:06

results matching ""

    No results matching ""

    results matching ""

      No results matching ""