1

現在、変更ごとに新しい war ファイルを作成していますが、変更はいくつかのクラスと Spring applicationContext.xml でのみ行われています。これらのクラスを含む jar ファイルを更新するだけで、変更されていない何百ものファイルを継続的に再デプロイしたくありません。jar は簡単に作成できますが、どこに配置すればよいでしょうか。また、Spring に特定の jar でその構成ファイルを探すように指示する必要がありますか?

4

1 に答える 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 に答える