极路由4pro安装java(Jamvm 2.0.0 + gnu classpath 0.9.8)
2018-01-05 17:14
926 查看
首先试了gnu classpath 0.9.9,编译不过后来改成0.9.8
SDK: 用之前讲过的官方SDKmtmips
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/3d89557d1c57ecaf2f80d4ad42ba95da.png)
除了官方文档要装的上面这些东西,还要手动装一个
运行
可以看到终端显示黄色文字
之后都在这个交叉编译环境中操作
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/c4c6a0e67e52a6b6cf23314ee9b15bdd.png)
之后找一个空目录做编译
操作完成后,classpath就会安装到
如果显示
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/008ba3faa3c0c4f92b1e7603a602659d.png)
把整个/usr/classpath目录打包传给极路由,注意把
同样检查安装后的文件是否是mipsel平台的:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/bf2e0fd15d962ed67a85fb72d856988b.png)
打包上传
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/3282c4ba5fc429d3f22866abdaba35dc.png)
注意看上面红框框出来的三个路径必须要存在,否则无法运行字节码,所以我们可以加上软连接指过去:
最后加上
在x86平台编译好java1.5的字节码,然后上传到路由器中用jam跑:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/f09d5f89e4df94a762f7b1c09c967fbe.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/5253004f16d869eb1a4e4497ebe1fdd0.png)
打完收工
注意jamvm+classpath只能支持到java1.5,如果想支持到1.8的话,需要jamvm结合openjdk8才行,但现在openjdk8还不支持mipsel
分享一下编译好的classpath和jamvm:
这个版本只支持tomcat 5.0、spring 2.5.6、maven 3.1.1 及之前的版本。tomcat需要把
编译环境
OS: 64位 Ubuntu 16.04 LTS(vmware虚拟机)SDK: 用之前讲过的官方SDKmtmips
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/3d89557d1c57ecaf2f80d4ad42ba95da.png)
除了官方文档要装的上面这些东西,还要手动装一个
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:,说明进入了交叉编译环境
之后都在这个交叉编译环境中操作
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/c4c6a0e67e52a6b6cf23314ee9b15bdd.png)
之后找一个空目录做编译
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),说明编译正确了
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/008ba3faa3c0c4f92b1e7603a602659d.png)
把整个/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
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/bf2e0fd15d962ed67a85fb72d856988b.png)
打包上传
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
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/3282c4ba5fc429d3f22866abdaba35dc.png)
注意看上面红框框出来的三个路径必须要存在,否则无法运行字节码,所以我们可以加上软连接指过去:
ln -s classpath/usr/classpath /usr/local/classpath ln -s jamvm/usr/jamvm /usr/jamvm
最后加上
/etc/profile的环境变量,这个搞过java的都懂就不说了
在x86平台编译好java1.5的字节码,然后上传到路由器中用jam跑:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/f09d5f89e4df94a762f7b1c09c967fbe.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201801/05/5253004f16d869eb1a4e4497ebe1fdd0.png)
打完收工
注意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 JDK的安装以及CLASSPATH设置系统变量
- 在Eclipse中安装javaJad 反编译class文件
- The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build pat
- 玩转Java的CLASSPATH
- Mastering the Java CLASSPATH
- Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK(转
- 玩转Java的CLASSPATH
- Java 中的 ClassPath 和 Package
- java 运行环境配置 path classpath
- 深入探讨、理解Java的CLASSPATH
- Mastering the Java CLASSPATH (just for newbie)
- JAVA:Duplicate name in Manifest: Class-Path
- Set up JAVA_HOME & CLASSPATH in Ubuntu
- Java的CLASSPATH
- OS X的缺省 java classpath
- 轻松玩转Java配置的Classpath
- java的classpath设置与-D命令参数的用法
- Mastering the Java CLASSPATH (just for newbie)
- 关于java中的classpath
- java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver Eclipse3.1 数据库连接测试程序(SQL Server 2000 Driver for JDBC Service Pack 3 安装测试)