netbeansでmysql接続に挑戦? [NetBeans]

 Mac10.9.1で NetBeans7.4 + GlassFish4.0 を使って、Webアプリケーションを試そうと思ってやってみた時の苦労話になるのでしょうか、ブログにアップしました。
これには、ネットビーンズで日本語の翻訳があるサンプル通り取り敢えずやってみるだけでしたので、あまり気にせずやれました。
今の使っている環境は、OS は10.6.0をインストールして10.6.8まで一気にアップグレードして、そのまま10.9にアップグレードしたもので、netbeans への環境はまだ余整っていません。localhost:8080 には PostgreSQL サーバーが起動してはいますが、気にせずにやるとそれが原因なのかマルっきりエラーです。グラスフィッシュサーバーは起動しているのですが、起動できないとのメッセージです。それで、まずは JDK1.6から1.8にバージョンアップしようとインストール。
netbeans は自動で1.8を認識するらしく1.8で実行(run)、やっぱりダメ。グラフィッシュサーバーは、何も無ければ:4848と:8080両方を表示するはずですが、postgres の方が表示されるところを見ると、コンフリクトで8080の方はダウンするようです。だとすると、迷ったあげくpostgres の方をアンイストールする事にしました。drupal が動いていましたが、mysql sqlite3 も同じく有りますから、しょうがありません。後でポート番号を変えてまたインストールし直すれば復活できますが、GlassFish の場合は変える方法が分かりませんから。
それで、今度こそと思いきや、まだダメです?何か他に設定項目があったかなと思いながら、8080はglassfish の画面が出てきます。つまりサーバーは起動しています。では試しに tomcat8 をダウンロードして、パスを bash にセットして起動、停止をやってみるとちゃんと表示して操作できます。なので、一旦このプロジェクトを捨てて、同じものを作り直し。やっぱりだめです。javaDB が壊れている?そんなバカな、何もいじってなんかまだいません。サーブレットの場合、3っつパスをまわして、アプリを作るのかなと思い、システムに JDK1.8 をまたコピーしようとしましたが、よく見るとシステムにはバーチャルマシーンが入っていませんでした。え〜?そうだっけ。
取り敢えずライブラリの方のバーチャルマシーンをそのままコピー。そのパッケージの中身の Home を逆にライブラリに方にシンボリックリンク。それで、glssfish サーバーを立ち上げて、実行するとやっと自動でこの画面が出てきました。
NetBeansでサーブレットを試す.png
説明では掛かっても10分位の行程ですが、3時間ぐらい悩みました。これから得られる経験則は、データーベースはシステム同様そう容易く動かせないので、特に8080ポートを使う場合は、あらかじめ、計画を練らないと後で苦労するという事でした。このことは、tomcat でも試しているのですが、この場合は、Derbyデータベースでプライベートポリシー何とかかんとかのエラーでどうしても前に進めなかったのですが、netbeans では同じメッセージが出てくるもののエラーにはなりません。違いがはっきり分かりませんが、プロパティーの設定がこちらの方がしっかりしていて、その分時間がかかるようですが、起動できないのでは話になりません。
 
この後この解説では mysql に接続する方法が有るのですが、これもうっかりでした。解説にある通り、mysql パスワードセットに’nbuser’なんて入力してしまったもんですから、root のパスワードが変わってしまったことに、だいぶ経って気づきました。つまり、次のパソコンの起動でmysql にログインできない事に気づきました。最初何がおこったか分かりませんでしたが、試しにnbuser でログインするとできたので、あちゃ〜!です。そうなれば、このパスワードで動くアプリが動かなくなってしまいますので、netbeans の方をまたやり直す事にして、パスをセットし直しです。
私的には、mysql ではなく、postgresql データベースを使いたいのですが、これからの課題という事で。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

WebObjectsあれこれNetBeansでPostgreSQLを.. ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。