[JAVA] 久々にいじり始めてみる
2011.09.18 |Category …Java
Windows版JBOSS7(コミュニティ版)を入れてみた。
なんだか昔はもうちょっと入手が簡単だったような気がするが、JBOSSのサイトがごちゃごちゃしてきたイメージが
ある。
それはおいておいて、JBOSSダウンロードサイトより、jboss-as-web-7.0.1.Final.zipをダウンロードしてきた。
解凍した親ディレクトリはこんな感じ。
2011/09/18 17:26 <DIR> .
2011/09/18 17:26 <DIR> ..
2011/09/18 17:25 <DIR> bin
2011/09/18 17:25 <DIR> bundles
2011/09/18 17:25 2,451 copyright.txt
2011/09/18 17:25 <DIR> docs
2011/09/18 17:25 <DIR> domain
2011/09/18 17:25 242,540 jboss-modules.jar
2011/09/18 17:25 8,729 LICENSE.txt
2011/09/18 17:26 <DIR> modules
2011/09/18 17:25 1,102 README.txt
2011/09/18 17:37 <DIR> standalone
2011/09/18 17:26 <DIR> welcome-content
とりあえずbinディレクトリに移動してみる。
2011/09/18 17:25 <DIR> .
2011/09/18 17:25 <DIR> ..
2011/09/18 17:25 2,770 domain.bat
2011/09/18 17:25 1,815 domain.conf
2011/09/18 17:25 2,589 domain.conf.bat
2011/09/18 17:25 5,961 domain.sh
2011/09/18 17:25 1,375 jboss-admin.bat
2011/09/18 17:25 1,409 jboss-admin.sh
2011/09/18 17:25 <DIR> scripts
2011/09/18 17:25 2,583 standalone.bat
2011/09/18 17:32 1,805 standalone.conf
2011/09/18 17:37 2,792 standalone.conf.bat
2011/09/18 17:25 5,518 standalone.sh
2011/09/18 17:25 851 wsconsume.bat
2011/09/18 17:25 789 wsprovide.bat
このバージョンだと複数ドメインでのサービス提供を前提としているのか、standaloneとdomainとある。
今回はスタンドアローンなので大人しくstandalone.batを叩いてみる。
D:\appl\jboss-as-web-7.0.1.Final\bin>standalone.bat
Calling D:\appl\jboss-as-web-7.0.1.Final\bin\standalone.conf.bat
おーい。
それだけ。
とりあえずstandalone.conf.batの中身を見ていたらどうやらJAVA_HOMEはともかく、JAVAの実行モジュール
(java.exe)の絶対パスを「JAVA」という環境変数で設定する必要があるみたいだ。
今までだとPATHに入っていれば使えたのに・・・
普通JAVAなんて環境変数は作らないと思うが・・・
複数バージョンのJAVAが混在している事を前提とした仕組みなんだろうか?
であったとしてもせめて設定ファイルを見直せっていうエラーは出して欲しい。
設定したら正常に起動したっぽい。
なんだか昔はもうちょっと入手が簡単だったような気がするが、JBOSSのサイトがごちゃごちゃしてきたイメージが
ある。
それはおいておいて、JBOSSダウンロードサイトより、jboss-as-web-7.0.1.Final.zipをダウンロードしてきた。
解凍した親ディレクトリはこんな感じ。
2011/09/18 17:26 <DIR> .
2011/09/18 17:26 <DIR> ..
2011/09/18 17:25 <DIR> bin
2011/09/18 17:25 <DIR> bundles
2011/09/18 17:25 2,451 copyright.txt
2011/09/18 17:25 <DIR> docs
2011/09/18 17:25 <DIR> domain
2011/09/18 17:25 242,540 jboss-modules.jar
2011/09/18 17:25 8,729 LICENSE.txt
2011/09/18 17:26 <DIR> modules
2011/09/18 17:25 1,102 README.txt
2011/09/18 17:37 <DIR> standalone
2011/09/18 17:26 <DIR> welcome-content
とりあえずbinディレクトリに移動してみる。
2011/09/18 17:25 <DIR> .
2011/09/18 17:25 <DIR> ..
2011/09/18 17:25 2,770 domain.bat
2011/09/18 17:25 1,815 domain.conf
2011/09/18 17:25 2,589 domain.conf.bat
2011/09/18 17:25 5,961 domain.sh
2011/09/18 17:25 1,375 jboss-admin.bat
2011/09/18 17:25 1,409 jboss-admin.sh
2011/09/18 17:25 <DIR> scripts
2011/09/18 17:25 2,583 standalone.bat
2011/09/18 17:32 1,805 standalone.conf
2011/09/18 17:37 2,792 standalone.conf.bat
2011/09/18 17:25 5,518 standalone.sh
2011/09/18 17:25 851 wsconsume.bat
2011/09/18 17:25 789 wsprovide.bat
このバージョンだと複数ドメインでのサービス提供を前提としているのか、standaloneとdomainとある。
今回はスタンドアローンなので大人しくstandalone.batを叩いてみる。
D:\appl\jboss-as-web-7.0.1.Final\bin>standalone.bat
Calling D:\appl\jboss-as-web-7.0.1.Final\bin\standalone.conf.bat
おーい。
それだけ。
とりあえずstandalone.conf.batの中身を見ていたらどうやらJAVA_HOMEはともかく、JAVAの実行モジュール
(java.exe)の絶対パスを「JAVA」という環境変数で設定する必要があるみたいだ。
今までだとPATHに入っていれば使えたのに・・・
普通JAVAなんて環境変数は作らないと思うが・・・
複数バージョンのJAVAが混在している事を前提とした仕組みなんだろうか?
であったとしてもせめて設定ファイルを見直せっていうエラーは出して欲しい。
設定したら正常に起動したっぽい。
PR
[Java] 久々Javaのサイトに行ってみた
2010.02.28 |Category …Java
昨年のOracleによるSun買収騒動があってから時間がたって、久々Javaを最新化しようとJavaのサイトに行ってみたらすごくOracle臭くてびっくりした。まさかUnix最強だったSunが1データベースベンダーに下るとは思わなかったなぁ・・・
Sunの文化や技術をきちんと残してくれれば文句はないですけどね。
しかたないのかもしれないけどOracle依存の機能が増えちゃうような気がする。
元々Oracleドライバ固有の機能もちらほらあったから何とも言えないけど。
DAO周りはインターフェースのみを提供する、というJavaのDAO層への柔軟な思考が損なわれると悲しいですね。
そういった意味だとMicrosoftのOSがSQL ServerとAccess(JET)のドライバだけをOSに梱包してるのがやはり納得いかない。クライアントから直接SQLServer以外のDBMSにアクセスしようとすると調整が非常に大変なんだよね。クライアント単位でドライバを配らなくちゃいけないし。最近はWeb経由が多いから困ることも少ないけど。
OSのリリース時期に合わせた最新ドライバを入れろ、とも言わないけど、公平にやるなら自社製品に対するドライバは無償であっても必要になったときに別途インストールさせるべきだと思う。
Sunの文化や技術をきちんと残してくれれば文句はないですけどね。
しかたないのかもしれないけどOracle依存の機能が増えちゃうような気がする。
元々Oracleドライバ固有の機能もちらほらあったから何とも言えないけど。
DAO周りはインターフェースのみを提供する、というJavaのDAO層への柔軟な思考が損なわれると悲しいですね。
そういった意味だとMicrosoftのOSがSQL ServerとAccess(JET)のドライバだけをOSに梱包してるのがやはり納得いかない。クライアントから直接SQLServer以外のDBMSにアクセスしようとすると調整が非常に大変なんだよね。クライアント単位でドライバを配らなくちゃいけないし。最近はWeb経由が多いから困ることも少ないけど。
OSのリリース時期に合わせた最新ドライバを入れろ、とも言わないけど、公平にやるなら自社製品に対するドライバは無償であっても必要になったときに別途インストールさせるべきだと思う。
[Java] auオープンアプリを触ってみた
2009.09.22 |Category …Java
激しく今更感があるのですが、auの携帯についているJava仮想マシン、auオープンアプリに触ってみました。
コンパイラはSun Java SDK, コンパイルに必要なライブラリやメタファイル生成用のツールとしてJ2ME Wireless Toolkit 2.2とやらを使うという事でJ2ME Wireless Toolkitをダウンロード&インストール。
このToolkitがリリースされた当時はJDK1.4.2だったらしく、「JDK1.4.2ではテストしましたよ~」みたいな事が書いてあったが無視して6.0環境にインストール。
でもって、WirelessToolkitのプロジェクト管理ツール「KToolbar」を起動してプロジェクトを作成し、Javaソースを書いて属性をいじって、ビルド=>実行=>「HelloWorld」・・・※1
よしよし。できたできた。
でわ、他所で借りているサーバにFTPでアップして*.jadファイルをダウンロード!
携帯:「対応して無いっす。無理っす」
うーん。どうやら、ダウンロード時にHTML側で属性を定義しないとダメっぽいです。
HTMLを作成して、こんな感じに
<html><body>
オープンアプリゲーム</br>
以下のリンクをクリックしてください。
<a href="device:jam?http://鯖/HelloWorld.jad">ダウンロード</a>
</body></html>
これでリンクを叩けば・・・
今度はダウンロード中にエラーになった。
FireFoxで接続してヘッダを見てもなんとなくアプリっぽいヘッダを返しているように見えるけど、.htaccessでContent-Typeを指定してみる。
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/Java-archive jar
さて、今度はダウンロードまではうまくいった。
しかし、起動時に
携帯:「変なのが来たからうごかねーぜ(F7)」
とか言われた。
ここまではさくさく解決できたのですが、ここからがはまりましたわ。
はまった理由がまずエラーコードらしき「F7」。
これがなんだかわからない。auに行ってもリファレンスが無いしぐぐっても出てこないし。
エラーをコード表記するのであれば開発者用のリファレンスが欲しいところです。実際はあったりする?
で、小一時間さまよってみたのですが拉致があかないのでエミュレータで起動してみる。
※1の通り、普通に表示できている。
では、ソースの中身をコメントアウトして文字列をいろいろ変えてみても表示は変わらず。
このときに初めて「実行」ボタンで表示されるのがエミュレータ上のランチャー(アプリ一覧)である事に気づきました。
「実行」ボタンを押して、ランチャーの中にある文字列を選んで「SELECT」って押すとようやく該当アプリのJarがキックされる仕様っぽいです。
SELECTボタンを押したときにToolbar内部にスタックトレースが表示されていて、結局の原因はメタファイル(*.jad)作成時に実行クラス名を間違ってたことでしたー。しょーもな。ClassNotFoundException。
で、jadを編集してFTPして読み込んだら普通に動作した、かと思いきや今度は起動はするが画面に何も表示されない。
こっちは属性設定でCLDC1.0からCLDC1.1に変えたら表示できたので色の指定の仕方とかバージョンによって仕様がちょっと値がうのかもしれないですね。
つーか、結構めんどくさいのね。これ。
まだEclipseプロジェクトにもしてないし、もう少し弄ってあげる必要がありそうです。
コンパイラはSun Java SDK, コンパイルに必要なライブラリやメタファイル生成用のツールとしてJ2ME Wireless Toolkit 2.2とやらを使うという事でJ2ME Wireless Toolkitをダウンロード&インストール。
このToolkitがリリースされた当時はJDK1.4.2だったらしく、「JDK1.4.2ではテストしましたよ~」みたいな事が書いてあったが無視して6.0環境にインストール。
でもって、WirelessToolkitのプロジェクト管理ツール「KToolbar」を起動してプロジェクトを作成し、Javaソースを書いて属性をいじって、ビルド=>実行=>「HelloWorld」・・・※1
よしよし。できたできた。
でわ、他所で借りているサーバにFTPでアップして*.jadファイルをダウンロード!
携帯:「対応して無いっす。無理っす」
うーん。どうやら、ダウンロード時にHTML側で属性を定義しないとダメっぽいです。
HTMLを作成して、こんな感じに
<html><body>
オープンアプリゲーム</br>
以下のリンクをクリックしてください。
<a href="device:jam?http://鯖/HelloWorld.jad">ダウンロード</a>
</body></html>
これでリンクを叩けば・・・
今度はダウンロード中にエラーになった。
FireFoxで接続してヘッダを見てもなんとなくアプリっぽいヘッダを返しているように見えるけど、.htaccessでContent-Typeを指定してみる。
AddType text/vnd.sun.j2me.app-descriptor jad
AddType application/Java-archive jar
さて、今度はダウンロードまではうまくいった。
しかし、起動時に
携帯:「変なのが来たからうごかねーぜ(F7)」
とか言われた。
ここまではさくさく解決できたのですが、ここからがはまりましたわ。
はまった理由がまずエラーコードらしき「F7」。
これがなんだかわからない。auに行ってもリファレンスが無いしぐぐっても出てこないし。
エラーをコード表記するのであれば開発者用のリファレンスが欲しいところです。実際はあったりする?
で、小一時間さまよってみたのですが拉致があかないのでエミュレータで起動してみる。
※1の通り、普通に表示できている。
では、ソースの中身をコメントアウトして文字列をいろいろ変えてみても表示は変わらず。
このときに初めて「実行」ボタンで表示されるのがエミュレータ上のランチャー(アプリ一覧)である事に気づきました。
「実行」ボタンを押して、ランチャーの中にある文字列を選んで「SELECT」って押すとようやく該当アプリのJarがキックされる仕様っぽいです。
SELECTボタンを押したときにToolbar内部にスタックトレースが表示されていて、結局の原因はメタファイル(*.jad)作成時に実行クラス名を間違ってたことでしたー。しょーもな。ClassNotFoundException。
で、jadを編集してFTPして読み込んだら普通に動作した、かと思いきや今度は起動はするが画面に何も表示されない。
こっちは属性設定でCLDC1.0からCLDC1.1に変えたら表示できたので色の指定の仕方とかバージョンによって仕様がちょっと値がうのかもしれないですね。
つーか、結構めんどくさいのね。これ。
まだEclipseプロジェクトにもしてないし、もう少し弄ってあげる必要がありそうです。