32

内に直接存在する JSP ファイルを編集していますがtomcat/webapps/myapp/WEB-INF、変更を確認するには、サーバーを再起動する必要があります。私の知る限り、JSP を変更してもサーバーを再起動する必要はありません。自動リロードに関連する唯一の構成はreloadable = "true" です

Catalina で /WEB-INF/classes/ および /WEB-INF/lib のクラスの変更を監視し、変更が検出された場合は Web アプリケーションを自動的にリロードする場合は、true に設定します。

でこの属性を使用しましたcontext.xmlが、問題は解決しません。再起動せずに JSP ファイルの変更を検出しない他の理由として考えられるものは何ですか?

@Bozho: これは からの抜粋ですweb.xml。何かを変更する必要がありますか?

 <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
4

12 に答える 12

32

tomcat docsで、設定を参照してくださいdevelopment。jsps をリロードするには、true に設定する必要があります。

開発 - Jasper は開発モードで使用されますか? true の場合、JSP の変更をチェックする頻度は、modificationTestInterval パラメータで指定できます。true または false、デフォルトは true。

これはあなたの中にありますCATALINA_HOME/conf/web.xml

さらに、再起動せずに実稼働環境で jsp を更新する必要がある場合は、およびファイルに移動しCATALINA_HOME/work/Catalina/localhost/contentName/org/apache/jspて削除できます。次回アクセス時に再作成されます。your_jsp.javayour_jsp.class

編集: 構成を提供し、コンテンツを更新しないことについてコメントした後、別の方法があります: ブラウザーのキャッシュをクリアするか、別のブラウザーからページを開きます。

于 2010-01-05T08:03:29.770 に答える
3

遅い答えですが、他の誰でもこれが役立つと思うかもしれません。

Tomcat フォルダーのアクセス許可を確認してください。他の多くのソリューションを試しましたが、うまくいきませんでした。

最後に、自分の「ユーザー アカウント」に「フル コントロール」権限を Tomcat フォルダに与えると、JSP に変更を加えるたびに Tomcat が変更を取得しました。Windows を使用していると仮定します。この背後にある理論的根拠は、JSP に変更を加えるたびに、コンパイルして webapps フォルダーにデプロイ (書き込み) する必要があるというものでした。そのフォルダに「書き込み」権限がない場合は、黙って失敗します。これは私の場合に起こっていました。そのため、context.xml でreloadable = trueandが機能しない場合は、このアクセス許可の修正を試してください。development = true

Windows 7 で Tomcat 7 を使用しています。

于 2013-06-17T04:06:00.540 に答える
0

(Tomcat 7.0.62) CATALINA_HOME/temp/ xx -mysite/ に移動し、そのディレクトリ ツリーで jsp ファイルを見つけて編集する必要がありました。

xxはランダムな (?) プレフィックス番号で、私の場合は 11 ですが、すべてのサイトに 1 つありました。

于 2016-03-29T17:18:02.513 に答える
0

context.xmlMETA-INF フォルダーでファイルを開き、false に設定しantiJARLockingます。

ディレクトリ ツリーは次のようになります。

Web > META-INF > context.xml

于 2015-06-17T00:50:53.207 に答える
0

Eclipse でサーバー プロジェクトに移動し、web.xml ファイルを編集して、'development' を true に設定する必要があります。

于 2013-04-15T18:22:31.360 に答える