0

例えば:

<constant name="struts.multipart.saveDir" value="temp" />

保存します:

\ Apache Tomcat 7.0.14 \ bin \ temp \ upload__781d3178_13831f5e207__8000_00000003.tmp

だから、代わりに、どうすればそれを次のようにできますか?

C:\ my_project \ build \ web \ temp \

プロジェクトが移動するたびにファイルパスを再構成したくないため、絶対ファイルパスを使用しません。基本的には相対パスが欲しいだけです。

編集1:

重要ではないと思いますが、Struts2バージョン2.1.8.1を使用しています。

編集2:

ApacheTomcatを使用しています。それが私がプロジェクトを展開しているところです。struts.xmlでTomcatのプロジェクトデプロイメントの場所を参照する方法はありませんか?

何かのようなもの:

<constant name="struts.multipart.saveDir" value="..\webapps\project\build\web" />
4

2 に答える 2

0

プロジェクトは、開発者ワークステーション上のアプリケーションのソースが存在する場所です。

実行時に得られるのは、デプロイされた戦争を実行しているサーバーだけです。アプリケーションのソース、およびそれらがワークステーション上にあるディレクトリは、アプリサーバーには関係ありません。それは気にしません、そして知る必要はありません。アプリサーバーマシンにそのようなディレクトリがあるかもしれませんが、それは確かではなく、マシン上の他のすべてのディレクトリと同じディレクトリです。設定ファイルで指定する以外に方法はありません。

于 2012-06-28T10:16:53.010 に答える
0

これを行うにはいくつかの方法があります。これが最も簡単な方法です:

<constant name="struts.multipart.saveDir" value="${catalina.home}/webapps/project/web/temp"/>

CATALINA_HOMEを設定する必要があります

アップデート

多分このように、あなたのweb.xmlで:

<context-param>
  <param-name>catalina.home</param-name>
  <param-value>path/to/your/tomcat</param-value>
</context-param>

アップデート

Log4j用のリンクも見つかりましたが、同じです。Link-To-Solution

于 2012-06-28T11:02:44.060 に答える