web-dev-qa-db-ja.com

IdeaのTomcat。 war爆発:サーバーが接続されていません。デプロイは利用できません

私はこれを試みています tutoial 。新しいプロジェクトを作成して実行しました。 Tomcatは起動しましたが、その後は何も起こりませんでした。ブラウザhttp://localhost:8080で手動で開くと、Tomcatホームページが表示されます。サーバーを起動できることを意味します。ただし、index.jspを開くことができません。開始後の画面は次のとおりです。 screenshot ご覧のとおり、プロジェクトは実行されていますが、渡された環境変数に関する情報はありません。ログはありません。

Tomcat 7.0.27を使用します

アイデア12.1.6

openSUSE 12.2で

TomcatのHOMEフォルダーは/usr/share/Tomcatです

問題がありました:Ideaはconfファイルを/ usr/share/Tomcat/confから/home/loco/.IntelliJIdea12/system/Tomcat//confにコピーできませんでした。 chmod 777 */usr/share/Tomcat and the problem gone.を実行しました

また、Tomcatの起動方法を変更しました。デフォルト値でした

/usr/share/Tomcat/bin/catalina.sh run

に変更しました

/usr/share/Tomcat/bin/catalina.sh start

他のすべての手順は、チュートリアルに従って行われます。

47
PaintedRed

この問題は、Tomcatスタートアップスクリプトセット(最も一般的にはsetenv.sh/setenv.bat)内のスクリプトが元の値を含めずにJava_OPTS環境変数をオーバーライドするときに発生します。 IDEAはJava_OPTSを設定して、TomcatにステータスやデプロイメントなどのJMXリクエストを1099でリッスンするように指示します。

壊れるsetenv.shからの行の例:

export Java_OPTS="-XX:MaxPermSize=512m -Xmx1024m"

修正されたバージョン:

export Java_OPTS="$Java_OPTS -XX:MaxPermSize=512m -Xmx1024m"

Windows setenv.batファイルからの同じサンプル行:

set Java_OPTS=-XX:MaxPermSize=512m -Xmx1024m

修正済み:

set Java_OPTS=%Java_OPTS% -XX:MaxPermSize=512m -Xmx1024m

IDEA内からのみTomcatを実行する場合は、他の人が提案したようにsetenvスクリプトから行を削除し、jvmオプションをIDEA実行構成)内に配置できます。

64
codelark

$ CATALINA_HOME/binにあるsetenv.batを削除して、これを修正しました。内部の設定は次のとおりです。

set Java_OPTS=-server -Xmx768m -XX:MaxPermSize=256M

これらのオプションはもう必要なかったので、ファイルを削除しました。 pruleの答えにあるように、これらのオプションをIntellij Run configに移動できます。ファイルを削除した後、IntelliJ内で展開は正常に機能しました。

編集:これがなぜ機能するかについてのより良い答えについては、 codelarkの以下の答えをチェックしてください。また、彼の方法を使用すると、 setenv.sh/setenv.batファイル。IntelliJIDEA内からTomcatを実行するだけではない場合に便利です。

28

setenv.shから$CATALINA_HOME/binを削除することもうまくいきました。 Tomcat7/Ubuntu/IntelliJ 12を実行しています

setenv.shがbinフォルダーにある場合、IJ内の起動時にログに表示されます:

/usr/local/Tomcat/Apache-Tomcat-7.0.52/bin/catalina.sh run
[2014-07-28 02:41:39,274] Artifact TomcatDebug:war exploded: Server is not connected. Press 'Deploy' to start deployment.
Jul 28, 2014 2:41:40 PM org.Apache.catalina.core.AprLifecycleListener init

odonovanj@ubuntuj:/usr/local/Tomcat/Apache-Tomcat-7.0.52$ Sudo netstat -tulpn|grep 2928
tcp6       0      0 :::8080                 :::*                    LISTEN      2928/Java       
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2928/Java       
tcp6       0      0 :::8009                 :::*                    LISTEN      2928/Java  

削除後、ログに次のように表示されます。INFO:76ミリ秒でのサーバーの起動サーバーへの接続[2014-07-28 02:44:35,847] 07-28 02:44:36,512]アーティファクトTomcatDebug:warが爆発しました:アーティファクトが正常にデプロイされました

odonovanj@ubuntuj:/usr/local/Tomcat/Apache-Tomcat-7.0.52$ Sudo netstat -tulpn|grep 2346
tcp6       0      0 :::8080                 :::*                    LISTEN      2346/Java       
tcp6       0      0 :::50044                :::*                    LISTEN      2346/Java       
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2346/Java       
tcp6       0      0 :::8009                 :::*                    LISTEN      2346/Java       
tcp6       0      0 :::1099                 :::*                    LISTEN      2346/Java       
tcp6       0      0 :::52268                :::*                    LISTEN      2346/Java 

setenv.sh$Java_OPTSをオーバーライドして、ポート1099で実行されているJNDIを妨害しているようです。

5
user2262727
file->project structure->Project SDK

次に、SDKを再構成します。

これで本当に問題が解決しました。

4
user5091911

私はこの理論についてあまり理解していませんが、同じエラーを受け取りました。少し待った後、次のようなメッセージが表示されました。

アーティファクトの展開中にエラーが発生しました。詳細については、サーバーログを参照してください。

「Tomcat localhost.log」を意味すると思われるログファイルを見つけましたが、そこに「NoClassDefFoundError」と「ClassNotFoundException」のスタックトレースがありました。私はMavenの更新と「プロジェクトの再構築」を行いましたが、それでうまくいきました。

2
Tim Cooper

(3.2)JRE_HOMEまたはJava_HOMEの設定(必須)

これらの変数は、Tomcatを起動するために使用されるJava Runtime EnvironmentまたはJava Development Kitの場所を指定するために使用されます。

JRE_HOME変数は、JREの場所を指定するために使用されます。 Java_HOME変数は、JDKの場所を指定するために使用されます。

Java_HOMEを使用すると、JRE_HOMEの使用時には許可されない特定の追加の起動オプションにアクセスできます。

JRE_HOMEとJava_HOMEの両方が指定されている場合、JRE_HOMEが使用されます。

Tomcat 7.0.27でこの問題が発生しました。 Tomcat 8.0.21にアップグレードし、問題を解決しました:)

0
Pleymor

Tomcat BINディレクトリに移動しますコマンドで実行します次のコマンドをプロンプトします

cd Tomcat-9991\bin

catalina.bat run

私が得た出力は

Exception in thread "main" Java.lang.UnsupportedClassVersionError: org/Apache/catalina/startup/Bootstrap : Unsupported major.minor version 52.0
        at Java.lang.ClassLoader.defineClass1(Native Method)
        at Java.lang.ClassLoader.defineClass(ClassLoader.Java:800)
        at Java.security.SecureClassLoader.defineClass(SecureClassLoader.Java:142)
        at Java.net.URLClassLoader.defineClass(URLClassLoader.Java:449)
        at Java.net.URLClassLoader.access$100(URLClassLoader.Java:71)
        at Java.net.URLClassLoader$1.run(URLClassLoader.Java:361)
        at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
        at Java.security.AccessController.doPrivileged(Native Method)
        at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
        at Java.lang.ClassLoader.loadClass(ClassLoader.Java:425)
        at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:308)
        at Java.lang.ClassLoader.loadClass(ClassLoader.Java:358)
        at Sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.Java:482)

Java TomcatとJDKの間にバージョンの問題があることを示し、これも設定していました。

正しいバージョンのJDKにチェーンすることで修正できました。

0
Amjad

簡単な方法は、そのファイルのポート番号を変更することです:

-Dcom.Sun.management.jmxremote.port=1099

ポートに注意してください、デフォルトは1099ですが、JMXを使用する場合、ユーザーまたは誰かによって変更される可能性があるため、単にポートを変更するだけでかまいません。Tomcatbinフォルダーから削除する必要はありません。

0
gangdaner

変更した場合/etc/hostsファイル、行を追加する必要がありますlocalhost YOU_USER_NAMEそれに。

0
ZunPiau

EclipseからIDEAにプロジェクトをインポートしようとすると、この問題が発生します。

setter.shには$CATALINA_HOME/binがありません。 IDEAのProject StructureおよびRun Configurationの設定は問題ありません。プロジェクト全体はEclipseで正常に動作しますが、IDEAでこのエラーを表示します。

私の解決策は、.ideaフォルダーを削除し、プロジェクト全体を再インポートすることです。この問題の正確な原因はわかりませんが、私にとってはうまくいきます。

ログは次のようになります。

/Library/Tomcat/bin/catalina.sh run

[2015-09-22 12:40:57,906] Artifact bookstore:war exploded: Server is not connected. Deploy is not available.
XXXXXX
Connected to server
[2015-09-22 12:40:58,848] Artifact bookstore:war exploded: Artifact is being deployed, please wait...
XXXXXX
[2015-09-22 12:41:07,862] Artifact bookstore:war exploded: Artifact is deployed successfully
[2015-09-22 12:41:07,863] Artifact bookstore:war exploded: Deploy took 9,015 milliseconds
0
Hunger

もう1つの理由として、Tomcatパスに空白または「(」が含まれている場合、このエラーも発生します。Tomcatパスの名前を変更してください。

0
cnsuifeng

Catalina.batでJava_OPTSを設定したときに、この問題が発生しました。これを削除すると、Tomcatが期待どおりに起動およびデプロイされました。 Java_OPTS値は、Intellij Run configで設定できます。

0
prule