AccessとLinux

中小企業での販売管理プログラムの作成についての所感

Vine3.2でEclipse3.2 (5) トラブル4?

2006年10月22日 19時17分58秒 | Weblog
これもトラブルとはいえませんが、今回、Vine3.2上でプログラムを作成しようとしていますが、使用する時はLinux、Windows両方の環境を考えています。そのため、hsqldbのファイルをどこに置くかということが問題になります。LinuxとWindowsではパス指定の表記方法がことなりますから、ファイル名だけでパスを指定しない方法が良いです。
Eclipse自身もそうですが、特定のフォルダーでなくどこに置いても動作するという仕様がベストです。そうなると、使用するhsqldbのデータはプログラム本体と同じホルダー(カレントディレクトリ)に置いておけば良いということになります。
hsqldb を接続する際、

Connection c = DriverManager.getConnection("jdbc:hsqldb:file:testdb","sa","")

と指定しますが、このパス指定のない"testdb"の部分はカレントディレクトリに置かれたtestdbということです。
Eclipseのカレントディレクトリはどこか? これがよくわかりませんでした。Eclipseでは作業領域のディレクトリは次のような階層構造になっています。
  workspace
  project
  package
また、package名は正式にはドメイン名を使用することが推奨されています。
ピアソン・エデュケーション「プログラミング言語JAVA」に「一意なパッケージ名を保証する良い方法は、インターネットドメイン名を使用することです。」となっています。たとえばGoogleのドメイン名google.co.jpならパッケージ名はjp.co.googleとなりますが、パッケージ名をこうきめると、project以下のディレクトリ構造は
    /jp/co/google
となります。ワークスペースをホームディレクトリに置くとフルパスでは
    /home/namae/workspace/project/jp/co/google
になり、クラス等のファイルはgoogleディレクトリに入ります。これは少し深すぎると思います。世界中のパッケージ名との重複を気にする必要がどの程度あるのでしょうか? ほとんどないです。だから今回はあっさり、
    /home/namae/workspace/project/package
としました。
さて、packegeにあるクラスからみてカレントディレクトリはどこになるかということですが、これは
    /home/namae/workspace/project
でした。ここにhsqldbのファイルを作成しておけば、
jdbc:hsqldb:file:testdb
でConnectionできます。また、これはWindowsXPでも動作確認しました。

また、これはぐちゃぐちゃやっていてわかったのですが、クラスファイルがある
/home/namae/workspace/project/package
以下のpackage内のファイルを直接、移動したり削除したりしていました。eclipseを使用する時、これはやってはいけないということがわかりました。package内に取り込みたいのなら、Eclipseのパケージエクスプロラーにドラッグしなければなりません。また、一端、Eclipseに登録したリソースはEclipseで解放した後、削除なり移動します。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Vine3.2でEclipse3.2 (4) トラブル3

2006年10月22日 19時10分31秒 | Weblog
実際にプログラムを書き始めて今度は、メッセージボックス内(ダイヤログボックス内)の日本語が文字化けしていまいます。

int n = JOptionPane.showConfirmDialog
(null, "終了しますか?","タイトルバー",JOptionPane.YES_NO_OPTION);

とすると、"タイトルバー"の部分は文字化けしないのですが、"終了しますか?"の部分とYes,Noボタンの"はい","いいえ"が文字化けしてしまいます。WindowsXPで同じようにすると文字化けしません。
やっぱりLinuxじゃダメなのかなと思って調べていると、

http://www.vox.tutkie.tut.ac.jp/~kimura/diary/bn2004_12.html#2004.12.05

で解決。世の中には偉い人がいるもんだなと、ほとほと感心。
しかしこの設定をすると、今度は「hsqldb Tool」のダイヤログボックスがアルファベットにもかかわらず文字化けしてしまいました。まあ、やむを得ないか。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Vine3.2でEclipse3.2 (3) トラブル2?

2006年10月22日 19時08分09秒 | Weblog
これは仕様を知らなかっただけなんですが、
hsqldbを使用するので、ドライバーをインストールするのに
  Class.forName(string)
を書くとエラーになってしまいます。try + catchで囲むと確かにエラーを示す赤い下線は消えるのですが、これをドライバーがインストールされないためと完全に思いこんで連休2日間をつぶしてしまいました。本当は try + catch で囲んで実行すれば動作したのですが、正常に動作コードが try + catch で囲んでいないばかりにエラーになるなんて思いもしませんでした。なんだか変な仕様だなと、今でも思います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Vine3.2でEclipse3.2 (2) トラブル1

2006年10月22日 19時05分47秒 | Weblog
まず、Eclipse「新規」から「クラス」で「作成すメソッド・スタブの選択」で「public static void main(String[] args)」にチェックを入れるとエディタ画面が開かない。色々調べてみると、デフォルトの設定ではコードに日本語が含まれているとコードが保存できないため、画面が開かないらしい。実際、チェックを入れるとpublic static void mainの次の行に
  //TODO 自動生成されたメソッド・スタブ
という文が自動で挿入される。これが原因。下記ホームページを参考にして設定すればエディタ画面が開くようになった。
http://eclipsewiki.net/eclipse/index.php?cmd=read&page=Eclipse3.2%B4%B6%C1%DB&word=EUC-JP
以下抜粋
「Vine3.2などEUC-JP-LINUXなマシンでは日本語を含むファイルを保存できない.設定でワークスペースのテキスト・ファイル・エンコードを「EUC-JP-LINUX」から「EUC-JP」に手入力(候補にないため)で変更すると大丈夫. -- 2006-07-19 (水) 12:18:32」
ということです。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Vine3.2でEclipse3.2 (1)

2006年10月22日 19時03分35秒 | Weblog
JAVAの勉強をしなっくっちゃと思い、実際に始めました。JAVAならやっぱりEclipseです名前だけはよく聞いているし、実際以前インストールしたこともあります。
Vine3.2にEclipse3.2をインストールするのは簡単です。いとも簡単なので、特に問題になるようなことは無いんだろうと思っていると、そうでもなくて、OSに最初からインストールされたGTK+のバージョンが、Eclipseの要求するGTK+のバージョンを満たしていなくて、GTK+をアップグレードしなければならない場合もあるようです。ことVine3.2+Eclipse3.2についてはこの点は問題ありません。
Eclipseのインストールについては多々解説してあるので、特に変わったこともないのですが、下記をインストールしなければなりません。
  JDK
  Eclipse本体
  Eclipseの言語パッケージ
また、Visual Editorを使用したいので、
  Visual Editor Runtime
  EMF(Eclipse Modeling Framework)
  GEF(Graphical Editing Framework)
JDKはsunのホームページから、その他はEclipseのホームページからダウンロードしてきます。Visual EditorについてはEclipseのホームページからたどっていかなければならかなったと思います。また、クラスパスを設定します。
今回は、JAVAのGUIにはSwingを使用します。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする