去年为在嵌入式平台上运行java服务端程序,利用jamvm1.5.1+classpath0.93搭建java运行环境。classpath虽然是旧版本,但编译环境gcc是3.4,再高版本也编译不过,所以0.93也能将就用。
现在又给我出了一个难题,需要用jamvm运行带图形界面的java程序。因为原来编译jamvm时为了让编译顺利通过,禁用gtk选项,所以目前不支持,必须重新编译才行。
linux的gtk+-2.0版本2.4.13,不满足classpath-0.93要求高于2.8的条件,于是采用classpath-0.91。configure时提示找不到PKG_CONFIG_PATH,需要加入系统环境变量中,它的值就是gtk+-2.0.pc所在的路径。
编译classpath:
cd classpath-0.91
./configure --prefix=/java/classpath --with-jikes
make & make install
安装好之后,进入/java/classpath/lib/classpath,看看有没有libgtkpeer.so,有就代表成功了。 接下来再编译jamvm,这步比较顺利,一般都能通过。
编译jamvm:
cd jamvm-1.5.1
./configure --prefix=/java/jamvm --with-classpath-install-dir=/java/classpath
make & make install
系统环境变量中加入jamvm,用vi打开/etc/profile,在PATH变量后面加上/java/jamvm/bin,保存后执行。
命令行输入 jamvm即可。
分享到:
相关推荐
以上步骤完成后,你应该能够在 ARM 9 设备上成功运行由 jamvm 支持的 Java 应用了。不过,这个过程中可能还会遇到其他依赖问题或编译错误,需要根据实际情况解决。确保你有一个良好的网络环境,以便查阅文档和获取...
本文旨在探讨如何在嵌入式Linux系统下实现Java程序的运行环境,并详细介绍开源Java虚拟机JamVM及其核心类库GNU Classpath在ARM-Linux平台上的移植过程。 #### 二、Java虚拟机的概念 Java虚拟机(JVM)是Java技术的...
jamvm: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped ARM 下的java虚拟机 java1.5.4+classpath 0.98 默认classpath已经设定/usr...
最小的jvm,jamvm-2.0.0.tar
JamVM是一个开源的Java虚拟机,遵从GPL2.0协议发布,它符合最新的Java虚拟机规范。它的主要特点是其大小非常小,在PowerPC上仅有大约200KB,而在Intel处理器上仅有180KB。不像其他的小型虚拟机(如Jelatine JVM、...
JamVM is a new Java Virtual Machine which conforms to the JVM specification version 2 (blue book). In comparison to most other VMs (free and commercial) it is extremely small, with a stripped ...
一个jvm虚拟机,支持大部分java浏览器功能
5. **兼容性**:尽管不是官方的JVM实现,JamVM努力与标准保持一致,能够运行大多数Java应用程序。 对于开发者来说,研究JamVM的源码可以帮助理解Java虚拟机的工作机制,例如: - **字节码解析**:查看如何将Java...
JamVM是符合JVM规范版本2(蓝皮书)的紧凑型Java虚拟机。 它非常小-在PowerPC 150K,Intel 100K上已剥离。 但是,与其他小型VM不同,它支持完整规格的inc.。 对象完成和JNI。
NeoJam 的 macOS x86_64 精简移植版。配合 作个人研究之用。编译前置条件, 安装 Xcode 或者 Command Line Tools。编译安装 GNU Classpath参考 编译安装编译 NeoJam编译 classescd lib && ./build.sh && cd ../编译 ...
首先,作者们完成了Java虚拟机JAMVM、Java Web容器Winstone和嵌入式数据库Sqhte的移植配置,并成功地在ARMLinux平台上运行了JSP、Servlet程序和访问Sqhte数据库的测试。该实现为嵌入式ARMLinux平台上支持Java、JSP、...
它们协同工作,使得Java应用程序能够顺利执行。 2. **类加载器**:负责加载类文件,解析并准备类的数据结构,确保类的静态字段被正确初始化。 3. **运行时数据区**:包括堆、栈、方法区、程序计数器和本地变量表等...
6. 配置Java运行环境:在开发板上配置环境变量,确保Java程序能够正确运行。 五、编程技能要求: - 掌握C语言基础知识,因为许多底层操作和开发工具链需要用到C语言。 - 熟悉Linux环境下vi编辑器的使用方法,进行...
GNU Classpath项目的核心关注点在于兼容性,它努力遵循Java SE(标准版)的规范,以确保开发的Java应用程序能够在使用GNU Classpath的环境中正常运行。尽管它并不包含完整的Java平台实现,比如缺少了Java虚拟机,但...
Java虚拟机是一种运行Java程序的抽象计算机,具有指令集和存储区域,负责执行指令、管理数据、内存和寄存器。Java虚拟机是Java技术的重要组成部分,是程序与操作系统和硬件无关的关键。 在嵌入式Linux系统下,Java...
Java虚拟机(JVM)是Java程序运行的核心组件,它负责解释和执行字节码,为Java应用程序提供跨平台的运行环境。开源JVM平台为开发者提供了深入理解JVM内部工作原理以及定制化JVM的可能性。"jvm虚拟机开源平台"这个...
NetKeeperHeartbeat_JXS就是这样一款工具,它能够在OpenWRT这样的嵌入式Linux系统上运行,通过使用轻量级的Java虚拟机(JamVM)来执行。 Java是一种广泛使用的编程语言,以其“一次编写,到处运行”的特性而著名。...
接着,移植和配置Java虚拟机JamVM,结合GNU Classpath和Java核心类库,使得在嵌入式系统上能够运行Java应用程序,从而实现Web服务器的功能。 综上所述,该文提出的设计方案为智能监控领域提供了一种经济高效的解决...
它已在运行带有 GNU 类路径库和 MIPSEL CPU 的 JamVM 的路由器上成功测试。 该捆绑包与 USB 或串行 Z-Wave 加密狗接口以控制网络,并通过端口 8080 上的 HTTP 提供接口。 如何构建和执行这个包 请参阅 README.setup...
Firecat 是用 Java 编写的服务器端 JavaScript(NSP)Web 服务器。 它类似于 ASP 和 JSP,但它使用 JavaScript 作为主要的... 它可以在任何 JVM 上运行,但主要目标将是 Free Runtime,例如 SableVM、JamVM 和 Kaffe。