技術(shù)分享 把JVM移植到ARM環(huán)境中
本文向大家簡單介紹一下如何把JVM移植到arm環(huán)境中,主要有其個小步驟,相信通過本文的介紹你對JVM移植的問題的解決方法有深刻的認(rèn)識。
如何把JVM移植到arm環(huán)境中
環(huán)境:
OS:ubuntu,scratchbox->arm
我實際移植JVM的步驟:
1,提供linux里面libX打頭的那些庫,它會提示你在configure的過程中,你根據(jù)需要下載并安裝,有時候只需要做個連接,因為它需要的是.so,而不是.so.X.X等等,比如ln-slibXtst.so.6.1.0libXtst.so
2,下載jamvm-1.5.1.tar.gz從http://sourceforge.net/project/showfiles.php?group_id=75148/&abmode=1./configure
make
fakerootmakeinstall
3,安裝jikes。
- dpkg-buildpackage-fakeroot-uc-b
- dpkg-i../jikes_XXX.deb
4,下載classpath-0.92.tar.gz從ftp://ftp.gnu.org/gnu/classpath/./configure--with-jikes--enable-jni
make
fakerootmakeinstall
當(dāng)然如果要保證編譯通過的話,你們必須提供jikes工具和mozilla的相關(guān)的頭文件,也可以通過./configure--with-jikes--enable-jni--disable-plugin來跳過plugin的編譯,如果你們不提供web頁的插件的話;實際上在第一步環(huán)境配置的時候我們提供的環(huán)境里面已經(jīng)有這些相關(guān)的類庫了,所以如果只是為了開發(fā)應(yīng)用程序的話是,是不需要再編譯的這個包的
5,編譯的時候記得看readme和install;
6,exportjamvm環(huán)境到PATH中;
exportPATH=/usr/local/jamvm/bin:$PATH,這時候可以通過jamvm-version來看版本信息了;
7,classpath里面有許多的examples,比如可以通過jamvmgnu.classpath.examples.swing.Demo來執(zhí)行示例代碼;
一切ok了,絕大部分的java程序是可以跑的了。
后記:
我后來重新做了一遍,發(fā)現(xiàn)放在我們的板子上經(jīng)常會出現(xiàn)這樣的一個問題:
- “Cannotcreatesystemclassloader
- Exceptionoccurredwhileprintingexception
- (java/lang/NoClassDefFoundError)...
- Originalexceptionwasjava/lang/UnsatisfiedLinkError”
我把/usr/local/classpath/share/classpath/glibj.zip展開后,重新copy到我的板子的/mnt/tflash上,然后
- cd/usr/local
- ln-s/mnt/tflash/classpathclasspath
- jamvmHelloWorld
輸出
- HelloWolrd!
程序正常運行,說明JVM移植成功。
【編輯推薦】
- 解析JVM和JIT診斷技術(shù)的用法
- JVM內(nèi)存限制問題解決方案
- 揭露MyEclipse JVM內(nèi)存不足的內(nèi)幕
- 橫向?qū)Ρ菾VM Server模式和Client模式
- Linux和Windows下的Tomcat JVM內(nèi)存設(shè)置