私はJavaで書かれた既存のソリューションを持っており、 OpenWrtルーターで実行したいと思っています。OpenWrtは多くの依存関係をインストールせずにJavaを実行することさえできますか?誰かがこれを試したことがありますか?
4 に答える
やったことはありませんが、確実に可能です。完全なJava VMを実行することはできず、その特殊なバージョン ( JamVM、PhoneME、 SableVM ) のみを実行できます。また、Java VM を実行すると、この種のマシンではかなりのオーバーヘッドが発生することに注意してください。
他の人がすでにそれを行っているので、詳細には触れません。これらのリンクをチェックしてください。
- http://wiki.openembedded.net/index.php/Java
- http://wolfpaulus.com/journal/embedded/fonera3
- http://wolfpaulus.com/talks/openwrt.pdf
- http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedGSGOpenWRT
- http://www.oracle.com/technetwork/java/javame/tech/index-jsp-139293.html
EDIT : SableVM はメンテナンスされていません。
編集: Amigable Clark Kantが述べたように、 GNU Compiler for Javaを使用して Java コードをネイティブにコンパイルできます。
あなたの目標はルーターで既存のソリューションを実行することであり、ルーターでJVMを明示的に実行することではないため、別の方法をお勧めします。
Java コードをネイティブにコンパイルします。これは、C コードと同じくらい高速になる可能性もあります。
これについては、Linux ジャーナルに記事があります。
好みではないにしても、JAMVMは OpenWRT などの小さなシステムに適しているようです。
私はこれをAsusWL-HDDでSableVMを使って少し前に行いました。WL-HDDはDebianを実行し、USB経由でメモリ/HDDを接続できます。しかし、パフォーマンスは本当に悪かった。
最近は埋め込み JRE を使用してください。http://www.oracle.com/technetwork/java/embedded/overview/index.html
Intel アーキテクチャ プラットフォームだけでなく、ARM にも存在します。