現在、変更ごとに新しい war ファイルを作成していますが、変更はいくつかのクラスと Spring applicationContext.xml でのみ行われています。これらのクラスを含む jar ファイルを更新するだけで、変更されていない何百ものファイルを継続的に再デプロイしたくありません。jar は簡単に作成できますが、どこに配置すればよいでしょうか。また、Spring に特定の jar でその構成ファイルを探すように指示する必要がありますか?
質問する
165 次
1 に答える
1
JRebel やカスタム JVM エージェントなどの追加ツールを使用せずに、Tomcat でコードをホット再デプロイすることはまったく不可能です。
ただし、次の方法でアプリケーションをモジュール化できます。
1: JAR を に配置し$TOMCAT_HOME/lib
ます。これは絶対に行わないでください。このソリューションは単純なケースにのみ適しています。
2: 以下のように、Loadercontext.xml
を入れて調整します。
<Context antiJARLocking="true" path="/">
<Loader className="org.apache.catalina.loader.VirtualWebappLoader" virtualClasspath="${catalina.base}/my-app-plugins/*.jar"/>
</Context>
これにより、JAR ファイルを$TOMCAT_HOME/my-app-plugins
配置できるようになり、アプリのクラスパスに追加されます。フォルダー (Maven レイアウト)に配置context.xml
する必要があります。src/main/webapp/META-INF
ただし、再起動はまだ必要です。
3: OSGiを使用します。やり過ぎかもしれません。
于 2013-08-27T18:21:15.817 に答える