如何在openwrt系统上部署java嵌入式套装 从此处下载jre: 将jre目录上载到OpenWrt 测试它:

如何在openwrt系统上部署java嵌入式套装 从此处下载jre: 将jre目录上载到OpenWrt 测试它:,java,openwrt,Java,Openwrt,./deploydir/jre/bin/java-版本 但是失败,错误消息: /bin/ash:./java:未找到 我很困惑,怎么了 添加信息: 我使用file命令,有以下输出: ./java:ELF 32位LSB可执行文件,英特尔80386,版本1(SYSV),…你不能这么做,我现在可以想到两个原因: 很可能二进制java不是为相同的CPU类型编译的;在您的例子中,命令文件显示java二进制文件包含英特尔80386的代码;我不认为这是你设备中的CPU类型 即使您的设备有Intel 80386

./deploydir/jre/bin/java-版本

但是失败,错误消息:

/bin/ash:./java:未找到

我很困惑,怎么了

添加信息:

我使用file命令,有以下输出:
./java:ELF 32位LSB可执行文件,英特尔80386,版本1(SYSV),…

你不能这么做,我现在可以想到两个原因:

  • 很可能二进制
    java
    不是为相同的CPU类型编译的;在您的例子中,命令文件显示
    java
    二进制文件包含英特尔80386的代码;我不认为这是你设备中的CPU类型

  • 即使您的设备有Intel 80386,
    java
    二进制文件也使用动态库(您已经安装了吗?),这些库也应该针对您使用的处理器类型进行编译


  • 您需要获取java的源代码(可能在OpenJDK网站上),并为您使用的平台编译它,它使用的库也是如此。

    首先,谢谢。关于你的建议,因为我在VitualBox上使用OpenWrt系统,该系统在我的PC上运行,我非常确定该系统是X86操作系统。下一个,因为我使用jrecreate自定义我的JRE,所以我认为我有完整的动态库来运行java。很抱歉,我仍然没有解决这个问题。不久前,我正在使用嵌入式系统,当我执行一个动态链接的ELF文件时,我忘记了为它安装依赖项,我总是得到“xxx not found”而不是“dependentials missing”之类的东西,但我想这是因为文件的大小应该尽可能小,没有空间来存储更详细的字符串消息。无论如何,在您的主机环境中尝试使用
    ldd
    (man-ldd),它将告诉您给定ELF对象(库或可执行文件)的依赖关系