プロが教える店舗&オフィスのセキュリティ対策術

プログラムの勉強を始めたばかりなので、拙い質問ですが、ご存じの方は、是非、よろしくお願いします・・・。

eclipseを使って、webアプリケーションを作成しようとしたのですが、
JSP作成後、デバッグを行うと、
「localhostのTomcatv6.0サーバーで
必要な幾つかのポート(8005,8080,8009)が既に使用中です。サーバー
は既に別のプロセスで稼働中であるか、システム・プロセスがそのポートを使用中である可能性があります。このサーバーを始動するには、他のプロセスを停止するか、ポート番号を変更する必要があります。」
と表示され、デバッグできませんでした・・・。
そこで、Active Portsをダウンロードして使用中のポート番号を調べると、同じ番号のものはありません・・・。
さらに、いろいろネットで調べると、oracleをインストールしているとポート番号が競合する、とかいてあったのですが、oracle10gをインストールしたので、このせいなのでしょうか??
その為、oracleを削除したのですが・・・。
そこまでしか、対処方法はわからず、行き詰まりました。
この場合、一体、どう対処したらよいのでしょうか・・・??
現在の環境は、
・windowsXP、jdk1.6.0_03、jre1.6.0_06
・Tomcat6.0
・eclipse3.3→eclipseの「設定」からインストールしたTomcatを登録しました。
・oracle10g

以上、長くなりましたが、本当に困っているので、よろしくお願いします・・・。

A 回答 (3件)

Eclipseでサーバサイドプログラムを作成する場合、


Webアプリのための標準プラグインEclipse Web Tools Project(WTP)がなくてはならないものです。
HTMLやCSS、JSP、XSD等のエディタ、J2EEサーバとの連携機能、
Webサービス構築機能、DBアクセス機能等を提供してくれます。

1)WTPプラグインがインストールされており、
Eclipseウィンドウ全体「ワークベンチ」の左側に
プロジェクト・エクスプローラーにServersのフォルダが表示されており、
フォルダ内にlocalhost の Tomcat v5.5 サーバー-config
catalina.policy
catalina.properties
server.xml
tomcat-users.xml
web.xml
が表示されている。
2)Eclipse画面中央部エディタの下部に
Javadocビューや宣言ビューは問題ビューと同じ場所にサーバータブとして重ねて表示されている。
3)プロジェクト・エクスプローラーで、プロジェクトを右クリックで表示されるメニューの中の実行→サーバーで実行を選択すると、サーバーで実行のウィンドウから実行した結果のエラーメッセージ localhostのTomcatv6.0サーバーで
必要な幾つかのポート(8005,8080,8009)が既に使用中です。…である。

以上1)から3)を前提としますと、

【原因】
Tomcatが実行中であるためです。 
Eclipse Web Tools Project(WTP)は、Tomcatを実行します。
したがって、Tomcatが実行中であるため、既に使用中です。
と警告しているのです。

【対応】
Tomcat ManagerからStop serviceを選択して、Tomcatを停止しておき、
実行→サーバーで実行して、Eclipseウィンドウのサーバータブを見ると
Tomcatを実行している様子が見られると思います。
コンソールタブには、ログが表示されると思います。

以上です。

この回答への補足

お返事、ありがとうございます!

早速試してみました。
ログ?らしきものがずらずらと表示されました・・・。
以下、ログの一部分なのですが、これは一体、何を意味しているしているのか・・・。
もしご存じなら、ぜひアドバイスをお願いします・・・。

[ログ(?)]
致命的: エンドポイントを初期化中のエラーです
java.net.BindException: Address already in use: JVM_Bind:8080
致命的: Catalina.start
LifecycleException: プロトコルハンドラの初期化に失敗しました: java.net.BindException: Address already in use: JVM_Bind:8080
致命的: エンドポイントを起動中のエラーです
java.net.BindException: Address already in use: JVM_Bind:8080
致命的: Catalina.start:
LifecycleException: service.getName(): "Catalina"; プロトコルハンドラの起動に失敗しました: java.net.BindException: Address already in use: JVM_Bind:8080
at org.apache.catalina.connector.Connector.start(Connector.java:1139)

補足日時:2008/07/08 21:07
    • good
    • 0
この回答へのお礼

あれから、ネットで検索してみたところ、IISがインストールされている状態だったから(?)か、アンインストールすると、無事にデバッグできました!!!
本当に有り難うございました。
もしかしたら、またお世話になるかもしれませんが、その時は、よろしくおねがいします・・・。

お礼日時:2008/07/08 22:35

一応確認方法を XPsp2なら コマンドプロンプトで


c:\hoge>netstat -abn

これでlistenしているアプリケーションが
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1636
[hogehoge.exe]
みたいに出ます
    • good
    • 3
この回答へのお礼

お返事、ありがとうございます!
コマンドプロンプトから、netstat -abnで調べると、確かにアドバイス
通りに表示されました。
ということは、ポート番号は競合していないということなのでしょうか
・・・?
もう少し、ネットで検索してみます・・・。
本当に有り難うございました!!

お礼日時:2008/07/08 21:29

Tomcat6.0はデフォルトでポート8005,8080,8009を使用します。


なのでそれが競合するのなら使用するポートを変更してやれば良いです。
具体的にはtomcatがインストールされているディレクトリの
conf配下にあるserver.xmlに記述されている上記3つのポート番号を変更し、
tomcatを再起動すれば問題は解決されるはずです。
ご存知かもしれませんが、ポートにはウェルノウンポートと
それ以外(厳密にはさらに2つのカテゴリーに分かれますが‥)がありますので
ポートの設定には注意してください。

この手の質問は「tomcat port 変更」等で調べれば腐るほどサイトがヒットしますので
詳しくはその辺を参照ください。
    • good
    • 0
この回答へのお礼

お返事有り難うございます!
ポート番号を変更してみたりしていたのですが、
>ご存知かもしれませんが、ポートにはウェルノウンポートと
>それ以外(厳密にはさらに2つのカテゴリーに分かれますが‥)があ
>りますので
>ポートの設定には注意してください。
とのアドバイスにより、ポート番号に注意が必要だったとは・・・。
もう少し、ネットで検索してみます!
本当にありがとうございました!!

お礼日時:2008/07/08 21:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています