問題タブ [embedded-tomcat-7]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - IDEA から組み込みの tomcat に接続する
私はTomcatを次のように実行しています:
ここで、デバッグ用のパラメーターを設定できることがわかりました。Mavenオプションをエクスポートすることにより:
私の最初の質問は、どうすれば IntelliJ IDEA から tomcat に接続できますか? いつものように、最初に tomcat 自体を IDEA で構成しますが、組み込みとして実行すると、起動した瞬間にアプリケーション サーバーがありません。
2 つ目の質問ですが、エクスポート コマンドの実行をスキップするために、ファイルに MAVEN_OPTS を設定できますか? 私は pom.xml でそれが不可能であることを読みました。しかし、この目的のためにファイルを使用できることがわかりました。%HOMEDRIVE%%HOMEPATH%\mavenrc_pre.bat
しかし、maven に関する私の本では、このファイルの使用法について何も見つけることができません。わからない、それは機能しますか?それを確認するには、まずアイデアから tomcat に接続する際の最初の問題を解決する必要があります。
java - 組み込み Tomcat 7 サーバーの再起動
組み込みの Tomcat 7 を使用して Web アプリケーションをホストしています。
わずかな例外を除いて、非常にうまく機能します。
組み込みの Tomcat を使用している理由は、複数のプラットフォームで運用する必要があり、アーキテクトがその判断を下したためです。
問題
ラッパー/コンテナー Java アプリケーションの実行中にユーザーが WAR の更新を確認できるようにしたいと考えています (ライブ更新)。現在、アプリケーションを再起動する必要がありますが、これはあまり望ましくありません。
基本的に、私たちのコードはリモート サーバーで新しい WAR ファイルをチェックするだけで、存在する場合はダウンロードされます。問題は、Tomcat サーバーをシャットダウンしたり、展開された WAR フォルダーにあるロックを解放したりできないように見えることです。
Tomcat インスタンスを完全に破棄すると、WAR ファイルをデプロイして、展開された WAR フォルダーを削除できますが、Tomcat は、ラッパー/コンテナー Java アプリケーションを完全に破棄して再起動するまで、それらを展開してホストしません。再起動すると、Tomcat は WAR ファイルを展開し、アプリケーションを適切にホストします。
私が探しているもの
更新中のアプリケーションをアンデプロイするか、Tomcat サーバーを適切にシャットダウン/停止する方法があることを願っています。
コードサンプル
以下のコード サンプルは、正常に動作するため、ダウンロードの実装を含めずに単純化しました。
Tomcat インスタンスは公開されていませんが、使いやすいように公開されています。また、スレッド内のスリープは、例を単純化するために挿入されています。
エンドレス ループは、このサンプルに挿入しただけです。
maven - Web アプリケーションが Maven 組み込み Tomcat にデプロイされている場合、Spring はプロパティをロードできません
Tomcat に手動でデプロイすると、Web アプリケーションが正常に動作します。ビルド中に統合テストを実行したいのですが、tomcat7-maven-plugin を使用して、webapp がデプロイされる組み込みの tomcat を開始したいと考えています。
での構成pom.xml
:
Tomcat は起動していますが、エラーが表示されます。
/WEB-INF/conf/configuration.properties
war ファイルに存在します。war がスタンドアロンの Tomcat インスタンスにデプロイされている場合、アプリケーションは正しく動作します。
Spring が戦争に存在する構成ファイルを見つけられない原因となる考えはありますか?
unit-testing - 組み込みの Tomcat 7 が servlet-api 3.x の ServletContainerInitializer を見つけられない
単体テストに組み込みの Tomcat 7.0.40 を使用しています。私の webapp は Servlet 3.x (x>0) を使用しています。
Tomcat に webapp をデプロイすることができました。
ただし、Tomcat を起動すると、例外がスローされます。
javax.servlet.ServletContainerInitializer は、バージョン 3.1 以降、javax.servlet-api JAR でローカライズされています。
この問題を解決する方法を知っていますか?
組み込み Tomcat のクラスパスにこのライブラリをプログラムで追加するにはどうすればよいですか?
いくつかの方法を試してもうまくいきません...
手伝ってくれてありがとう。
tomcat - 組み込み Tomcat の欠点
デフォルトのデプロイメント用 Tomcat の代わりに Embedded Tomcat を使用することを考えていますが、なぜ広く使用されていないのでしょうか。デメリットはありますか?それは何らかの形で遅いですか?
ありがとう。
編集:
独自のテストを行ったところ、組み込みの tomcat の方が 25% 速いようです。なぜだろう、ほぼ同じ速度ではないだろうか?
tomcat - 組み込み Tomcat: XML スキーマ名前空間の Spring NamespaceHandler が見つかりません
組み込み Tomcat アプリケーションを実行しようとすると、次のエラーが発生します。
クラスパスにすべてが正しく含まれていると確信していtx
ます/transaction/
。
私が理解していないのは、Intellij IDEA でアプリケーションを実行すると期待どおりに動作し、Tomcat サーバーにもデプロイされるということです。
何が問題になる可能性がありますか? どこを見ればいいですか?ありがとう。
windows-services - Tomcat サービスを自動 (遅延開始) としてインストールするにはどうすればよいですか?
提供された Tomcat service.bat ファイルを呼び出して Windows サービスを作成する install4j を使用してインストーラーを作成しました。
それは問題なく動作しますが、service.bat を変更して、デフォルトでインストールされたサービスが自動または手動ではなく自動 (遅延開始)になるようにする方法はありますか?
このページによると: http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html
--Startup パラメーターは、autoまたはmanualのいずれかを取ります。空の場合、デフォルトは manual です。私はそれを省略し、インストール後にサービスが自動に設定されているため、少し混乱しています。これはそのページと矛盾しています。