首先试了gnu classpath 0.9.9,编译不过后来改成0.9.8

编译环境

OS: 64位 Ubuntu 16.04 LTS(vmware虚拟机) SDK: 用之前讲过的官方SDKmtmips

除了官方文档要装的上面这些东西,还要手动装一个g++-multilib,否则编译classpath会出错,另外要装tar,方便压缩解压文件

sudo apt-get install g++-multilib tar

进入交叉编译环境

进入SDK解压目录OpenWrt-SDK-mtmips-for-redhat-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2 运行

./scripts/cross-compile.sh ./

可以看到终端显示黄色文字cross-compile@mipsel:,说明进入了交叉编译环境 之后都在这个交叉编译环境中操作

之后找一个空目录做编译

mkdir ~/show

cd ~/show

交叉编译classpath

wget ftp://ftp.gnu.org/gnu/classpath/classpath-0.98.tar.gz

tar -zxvf classpath-0.98.tar.gz

cd classpath-0.98/

sudo mkdir -p /usr/classpath

./configure --prefix=/usr/classpath --disable-examples --without-x --disable-qt-peer --disable-gtk-peer --disable-gconf-peer --disable-plugin --disable-alsa --disable-dssi --disable-Werror --disable-tools --host=mipsel-openwrt-linux

make

sudo make install

操作完成后,classpath就会安装到/usr/classpath目录,接着校验安装后的classpath是否是mipsel(32位小端的mips架构的cpu)平台的文件:

file /usr/classpath/lib/classpath/libjavaio.so.0.0.0

如果显示ELF 32-bit LSB shared object, MIPS, MIPS32 rel2 version 1 (SYSV),说明编译正确了

把整个/usr/classpath目录打包传给极路由,注意把/soft替换成外接硬盘的目录防止路由器空间不足

zip -r classpath.zip /usr/classpath

scp -P 1022 classpath.zip root@192.168.199.1:/soft

交叉编译jamvm

cd ~/show

wget https://jaist.dl.sourceforge.net/project/jamvm/jamvm/JamVM%202.0.0/jamvm-2.0.0.tar.gz

tar -zxvf jamvm-2.0.0.tar.gz

cd jamvm-2.0.0/

sudo mkdir -p /usr/jamvm

./configure --prefix=/usr/jamvm --host=mipsel-openwrt-linux

make

sudo make install

同样检查安装后的文件是否是mipsel平台的:

file /usr/jamvm/bin/jamvm

打包上传

zip -r jamvm.zip /usr/jamvm

scp -P 1022 jamvm.zip root@192.168.199.1:/soft

给路由器安装classpath和jamvm

先检查jamvm能否打印版本号:

cd /soft

mkdir classpath && cd classpath && unzip ../classpath.zip && cd ..

mkdir jamvm && cd jamvm && unzip ../jamvm.zip && cd ..

jamvm/usr/jamvm/bin/jamvm -version

注意看上面红框框出来的三个路径必须要存在,否则无法运行字节码,所以我们可以加上软连接指过去:

ln -s classpath/usr/classpath /usr/local/classpath

ln -s jamvm/usr/jamvm /usr/jamvm

最后加上/etc/profile的环境变量,这个搞过java的都懂就不说了

在x86平台编译好java1.5的字节码,然后上传到路由器中用jam跑:

打完收工

注意jamvm+classpath只能支持到java1.5,如果想支持到1.8的话,需要jamvm结合openjdk8才行,但现在openjdk8还不支持mipsel

分享一下编译好的classpath和jamvm:

链接:https://pan.baidu.com/s/1sll0W6x 密码:6mui

这个版本只支持tomcat 5.0、spring 2.5.6、maven 3.1.1 及之前的版本。tomcat需要把bin/setclasspath.sh中检查java路径是否合法的代码去除掉,jsp也别想了,没有javac编译器

极路由 java_极路由4pro安装java(Jamvm 2.0.0 + gnu classpath 0.9.8)相关推荐

  1. macos自带java_在 MacOS 上安装 Java - Java 入门教程

    本小节我们将介绍如何在 MacOS 平台安装 Java . 如果你想在其他平台安装 Java,请查看对应平台的安装教程: 1. 下载安装包 我们首先打开 Oracle 官网的 JDK 下载地址,找到 ...

  2. 安装java时,配置环境变量classpath的作用

    想必大家在安装javaSE或其它版本时会注意到,在配置环境变量path之后,还需要新建一个名为CLASSPATH,变量值设为 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt. ...

  3. 极路由B70/极路由4增强版改spi,pb-boot启动后切换回nand刷nand breed

    极路由B70/极路由4增强版改8脚spi-nor flash,编程器刷入pb-boot,启动后切换回nand,刷nand flash 的breed 刷好pb-boot的spi-nor flash待用. ...

  4. Vue.js-Day05【安装路由(vue-router)、如何使用vue-router、404配置、激活class、动态路由、编程式导航、路由嵌套、路由元信息、导航拦截】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 1.单页面应用 1.1.多页面应用 1.2.单页面应用 1.3.vue-router 2.安装vue-rout ...

  5. 细思极恐,你真的会写java吗?

    细思极恐,你真的会写java吗? 感觉这篇文章写的不错,推荐下. 细思极恐,你真的会写java吗?

  6. 装了java_下载安装Java

    初学Java,似乎安装有那么一点不同(也就多了添加环境变量哈哈哈),我也小小记录一下. 自我介绍:win10 x64 1. 下载Java 用于现在大多数使用者用的是java 8,小白的我先安装java ...

  7. 怎么安装jdk和java_如何安装JAVA JDK?

    我是win10系统,最近自学JAVA,需要安装JAVA JDK 但是从官网下载最新版本以后提示无法安装弹窗如图,该怎么解决 一.jdk下载与安装: 1.(https://www.oracle.com/ ...

  8. 容器安装java_在docker容器中安装Java(从宿主机向docker容器中拷贝文件)

    操作系统 [root@Optimus /]# uname -a Linux Optimus 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2 ...

  9. ubuntu安装java_如何在Ubuntu系统上安装Java

    作为Java开发人员,您将需要一次或两次在系统上安装它.与普遍的看法相反,在Ubuntu计算机上安装Java非常简单.在本文中,我们将说明以下三种在Ubuntu系统上安装稳定版本的Java的方法: 通 ...

最新文章

  1. php打印出来乱码_PHP输出中文乱码的解决方法(转载)
  2. xHTML+div布局:三个div,两边div宽度固定,中间div宽度自适应
  3. U-Boot 提供的基本命令
  4. Caffe: Faster-RCNN Python版本配置 (Windows)
  5. 倒计时5天!云栖大会低代码峰会即将开幕!
  6. TensorFlow图像数据预处理
  7. 怎么选最快dns服务器,如何选择DNS服务器网速最快?DNS优选win7win10系统设置方法图文教程...
  8. ice服务器修复教程,Bootice:系统引导菜单修复利器的功能解说
  9. 磁盘介质受写入保护(非u盘)解决办法
  10. GooglTest GoogleMock 实践感想三 死亡测试初步(1)
  11. Linux实战教学笔记53:开源虚拟化KVM(一)搭建部署与概述
  12. 使用python脚本抢购天猫和淘宝商品,0秒下单
  13. Depsolving loop limit reached
  14. 如何查看mysql的gtid_mode_配置MHA开启主从同步的时候会提示从库gtid_mode为ON的状态...
  15. Linux下U盘变成只读
  16. UVA 12325 Zombie's Treasure Chest
  17. (管用)电脑突然没声了
  18. 如何查看win7计算机的显卡是多少位的,如何查看咱们win764位旗舰版电脑是单显卡还是双显卡...
  19. css实现文字渐变并兼容IE浏览器
  20. 【nvivo11plus教程】01_nvivo介绍、案例与批注

热门文章

  1. 基于ArcGIS的全国1km路网密度格网栅格制作流程
  2. Golang 获取评论列表,以楼中楼的方式
  3. 计算机千分之一符号,科学网—万分之一符号, 千分之一符号 和PPM符号 - 丁祥欢的博文...
  4. 手动搜索迷宫游戏 c语言,C语言实现一个走迷宫小游戏(深度优先算法)
  5. 2020年保研夏令营回顾
  6. 用Python画佩奇完整版
  7. MATLAB 数值微积分
  8. C语言项目:接球小游戏(自制)!详细思路+源码分享
  9. 姑娘,你为什么要编程呢
  10. Mac OS X 背后的故事(六)Cordell Ratzlaff 引发的 Aqua 革命(上)