2009-11

Ads by Google

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Linux][CentOS]Eclipseが火を吹いた

今日は自宅サーバ機のEclipseを触ってると火が出てきた。
詳細はこうだ。

「ヘルプ」->「ソフトウェア更新」->「検索とインストール」で、
なんかこんなに沢山インストールしないといけないんだとか思ってとりあえずチェック入ってるのをインストールして完了したように思ってると、
再起動しようとしたら立ち上がらない。

よーしログだ!ログを見るんだ!とか言って意気込んでみてEclipseのログの場所を探索。
すると、workspace\.metadata\.logがそうらしい。

# ls -a

でドットで始まるデータを表示させて開く。
すると、
java.lang.IllegalArgumentException: The service does not implement the given interface 468 at org.eclipse.ui.internal.services.ServiceLocator.registerService(ServiceLocator.java:217) 469 at org.eclipse.ui.internal.Workbench.initializeDefaultServices(Workbench.java:1532) 470 at org.eclipse.ui.internal.Workbench.init(Workbench.java:1318) 471 at org.eclipse.ui.internal.Workbench.access$32(Workbench.java:1278) 472 at org.eclipse.ui.internal.Workbench$57.run(Workbench.java:2283)

みたいな例外が吐かれていた!
っつかちゃんと自動で更新するなら自動で更新してよって言いたくなるけど、駄目だったみたい。
java.lang.IllegalArgumentException: The service does not implement the given interface 468
は、引数が間違ってるみたいな例外らしい。

とりあえず、その「org.eclipse.ui.internal.*」の場所を探してみる。

しかし、見つからず・・・


[Linux][CentOS]Eclipse WTPを使う

Eclipse WTPとは、なんか、Web Tools Platformの略らしくって、
Eclipse上で結構簡単にWeb連動システムが開発できちゃうtoolらしい。

書籍を参考に、Eclipse WTPを使用出来る環境を構築することにした。

ファイル→新規→その他で、サーバー選択→tomcatv6.0サーバー選択で、

/var/lib/tomcat5/server/

を選ぶと、期待されるファイルまたはフォルダ/lib/jasper-el.jarがありませんとのこと。

/var/lib/tomcat5/serverのlib内には確かに無い。
コンピューター内にjasper-el.jarを探してみたが、無い。

意味がわからない。

次回は、

・無理矢理にjasper-el.jarを持ってきてインストール
・他に同じ困ってる人がいないかを見つける

でいこうと思う。

javaのバージョン

前回tomcatをyumで入れた時にjavaの1.4が依存関係で入ってしまった。
# java -version
をすると、1.4って出るのでどうにかしたい。
そんな記事。

1:javaのバージョン

何故Eclipseでは1.6で、java -versionでは1.4なのか?

JAVA_HOME=/usr/java/jdk1.6.0_11
CLASSPATH=.:/usr/java/jdk1.6.0_11/lib/tools.jar

多分EclipseではJAVA_HOMEとかCLASSPATHを見ているのだと思う。
しかし、java -versionではJAVA_HOMEとか関係ない。

# which java
/usr/bin/java

lrwxrwxrwx 1 root root 25 1月 24 15:48 jar -> /usr/java/default/bin/jar
lrwxrwxrwx 1 root root 22 3月 1 00:35 java -> /etc/alternatives/java
lrwxrwxrwx 1 root root 27 1月 24 15:48 javac -> /usr/java/default/bin/javac
lrwxrwxrwx 1 root root 29 1月 24 15:48 javadoc -> /usr/java/default/bin/javadoc
lrwxrwxrwx 1 root root 23 3月 1 00:35 javah -> /etc/alternatives/javah
lrwxrwxrwx 1 root root 28 1月 24 15:48 javaws -> /usr/java/default/bin/javaws
lrwxrwxrwx 1 root root 30 1月 24 15:48 jcontrol -> /usr/java/default/bin/jcontrol

/usr/bin/javaに移動すると、これだけ沢山のjavaが居る。
/usr/java/default/系のシンボリックリンクは、jdk1.6.0を指していることがわかった。

ということは、/etc/alternatives/の箇所が1.4系を指している。
java,javahの2つ。

cd /etc/alternatives/

1 root root 35 3月 1 00:35 java -> /usr/lib/jvm/jre-1.4.2-gcj/bin/java
1 root root 37 3月 1 00:35 javah -> /usr/lib/jvm/java-1.4.2-gcj/bin/javah

辿っていく。
cd /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/bin/

1 root root 12 3月 1 00:35 java -> /usr/bin/gij
1 root root 14 3月 1 00:35 javah -> /usr/bin/gjnih

最終的にjava1.4.2のbinのjavaは/usr/bin/gijというところを向いていることが
わかったが、
それ、1.6.0系はどうなんだろう?

多分jre-1.4.2-gcj系と同じところに当たるのが、
/usr/java/jdk1.6.0_11/jre/bin

だと思うので、その中のjavaはどっか向いてるのかというとそうではない。

/etc/alternativeの指す方向を/usr/java/jdk1.6.0_11/jre/binとかに変えたら
上手くいくのだろうか?

ちょっと恐いけど、update-alternativesコマンドを使ってやってみることにする。

http://www.pinkdragon.net/DocumentsLibrary/contents/ja/Linux_man/update-alternatives.8.html

を参考にすると、
update-alternatives [options] --install [一般名] [そのシンボリックリンクの名前] [ここで導入されるmasterリンクに対応した選択肢] priority [--slave 一般名 そのシンボリックリンクの名前 ここで導入されるmasterリンクに対応した選択肢]...

ということになる。ってかややこしすぎ(笑)

# update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_11/bin/jre/java 2000

間違えた時の為に、alternativesの削除は、

# update-alternatives --remove java /usr/java/jdk1.6.0_11/bin/jre/java

とかでOK。

slaveオプションの意味は、メインのを動かしたら一緒に動いてくれるらしい。

そうならば、とりあえずjavaとjavahの2つだけ1.4系なので、それだけ連動して動くかを
確認して、tomcatとEclipseが動くことを確認出来ればOKだと思う。

# update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_11/jre/bin/java 70 --slave /usr/bin/javah javah /usr/java/jdk1.6.0_11/bin/javah

これで

# java -version

で1.6系になってくれたし、多分問題ないだろうと思う。

しかし、/usr/java/jdk1.6.0_11/jre/bin/javaと、
/usr/java/jdk1.6.0_11/bin/javaの違いがよくわからない。

恋愛においてのその人の人格レベルについて

最近女友達と恋愛トークをする時に頻繁に「その人の人格レベル」についての議論になる。

「ぶっちゃけやっぱり男にも女にもレベルってあるやん!?」

と言った下りから命題を投げかけるのは必ず女友達の方で、自分と言ったらそれを一旦は反射的に否定する。

「そんなレベルだなんて!そんな言い方・・・」

人間は一人として同じ性格の人間はおらず、それぞれが持ち合わせているのは個性である。
個性には優劣をつけることが出来ず、一見劣っているように見える性格も、それはそれでその人の魅力なのである。


なんて胸を張って言おうとすると、それはそれで偽善としか言いようがなく、
例えばベタな例えで申し訳なくなってくるけど、ギャンブル好き女好き、取り柄も才能も無しでDV。とかダメ男の役満みたいな男と、
仕事も普通に頑張ってて、おせじにもかっこいいとは言えないけど堅実で私だけを愛してくれるカ・レ・シ的な男と、
2人並べられてレベルをつけるなら?みたいに詰め寄られたら
「まあ言われてみれば間違いなく人格レベルはあるな。」という考えに至る。

しかし残るのは一縷の違和感であり、その正体は続く会話によって解決する。

「ひーはもっと大人になって、そんなあんまり性格が良くない子を追いかけまわしててもしんどいだけやって。」

「例えばさ、おれが追いかけまわしてる子のレベルが仮に低くって3くらいとしようよ。それで、おれは追いかけ回してる訳だから更に低くってレベル1とする。」

「それで?」

「レベル3の子と対比して、全く別にレベル6の女の子がいるとする。
その子は気立てよくって、可愛くって。」

「うん。」

「おれがそのレベル6の子に好かれて、レベル1であるおれがその子を好きになれなかったとしたら、その恋愛においての人格レベル理論は崩れるくない?」

そう、1→3→6→1という構図は数字という尺度で表すところの矛盾であり、それこそが「違和感の正体」なのである。

「それは・・・」

この理論の極みとも言える反論を展開すると友達は必ず閉口する。

思うに、まあ人格レベルはあるのはしぶしぶ納得するとして、
人は、自分よりも人格レベルが高い人に惚れるという暗黙の前提が間違っているのである。

例えば早稲田慶応を出てばりばりのコンサル企業で活躍し、日本の経済は私の気分次第みたいなキャリアウーマンも付き合ってるのはどうしようもないダメヒモ男。
みたいな話も多いにありえる。

それはそのキャリアウーマンの属性(※1)がダメ男なのであり、そのキャリアウーマン自身の人格レベルが低い訳では無い。
そういう結論に落ち着く。

※1・・・その人が何に萌えるかという指標としての意味合いで用いられる。cf) メガネ属性

[Linux][CentOS]tomcatインストール2

前回の記事で、tomcatインストールの失敗経過を書いた。
logsフォルダ以下が無くって、catalinaがいないから、やっぱりyumで入れちゃおうってことになった。

今日はそのメモ。


http://www.thinkit.co.jp/free/article/0708/2/5/


今回は上のサイトを参照。

# yum install tomcat5
# yum install tomcat5-webapps tomcat5-admin-webapps

なんかyumyumしている最中に画面を見てたらjavaの1.4とかが入れられてる様子が・・・

# java -version

入れ終わった後にコマンドを叩くと、昔の1.4バージョンに・・・
この間Eclipseを動かすためにjavaを1.6に上げたのに・・・
でもEclipseは起動してくれた。
やっぱり今一つ理解出来てない証拠。

そうゆう訳でもっかい環境変数の設定について見直してみる。
色々調べてみたり会社の皆さんからアドバイス貰ったりするに
/etc/profile
はほとんどいじらなくってよくて、
~/.bash_profileと~/.bashrcをいじるのが一般的。
他のサイトを見てみると、
~/.bash_profile
にはPATH変数の設定を、
~/.bashrc
にはエイリアス(別名)の設定やコマンドプロンプトの表示設定(PS1変数というらしい)を
書くのがいいらしいってことだけど、
会社の皆さんにアドバイスを受けたところPATH変数なら
/.bashrcでいいんじゃないかってことで/.bashrcに
書くことにした。

ところで/.bashrcとかってコンソールからlsを叩いても表示されないのは何故!?
って思ったら
# ls -a
で表示されたことが嬉しいのでメモ。

いよいよ~/.bashrcを編集だ。
寄り道作業。まずはalias行があるので
alias less='less -N -m -i'
とかしてlessを便利にしてみた。
# source .bashrc
で反映。

http://localhost:8080/

で全体的にやる気の感じられないtomcatが見れることを確認。

さて、

http://www.gside.org/Gentoo/tomcat/tomcat.html

http://www.javaroad.jp/opensource/js_tomcat13.htm

上記のサイトを参照するに、簡単なプログラムを実行してみようという話しだが、tomcatではコンテキストという概念が存在するらしい。

# /var/lib/tomcat5/webapps/jsp-example
にでもsample.jspを置いて
# /etc/tomcat5/Catalina/localhost
にsample.xmlを置いてみる。これをコンテキストというらしい。

やってみたけどはい表示されないっと。

とりあえず環境変数がきちんとしたものなのかということや
詳細について勉強する必要があると思う。

ということで今日はここまで。

環境変数を確認
# printenv | less

«  | HOME |  »


☆★よかったらクリックよろしく★☆

MONTHLY

CATEGORIES

RECENT ENTRIES

RECENT COMMENTS

RECENT TRACKBACKS

APPENDIX

ひろや

ひろや

社会人三年目のひろやがビックになるまでを綴った日記。