2017-03-21 6 views
1

ROOTコンテキストにWARファイルをデプロイしようとしているTomcatインスタンスを持つリモートサーバーがあります。これは、WARファイルへの完全なパスです:WARファイルの場所のコンテキストパスでTomcatが自分のアプリケーションを作成するのはなぜですか?

C:\ Users \ユーザーadminsg \デスクトップ\司法省\戦争の\ ROOT.war

私はファイルピッカーを使用してWARをアップロードすると、それが展開しますWARをコンテキスト・パス/C:UsersadminsgDesktopdojwarROOTに、:をパスにブレークします。 ROOT.warをTomcatインスタンスと同じドライブに移動したときも同じことが起こりました。

私が行った唯一の変更は、より大きなアプリケーションに対応するためにファイルサイズの制限を100MBに増やすことでした。私はこれまでにこれが起こったことはありませんでした。私は数十のアプリケーションをTomcatサーバーに導入しました。

このようにしてコンテキストパスの作成を停止する方法はありますか、または手動コンテキストパスデプロイヤを使用して展開する唯一のオプションはありますか?

EDIT

エラーがHTTPServletManagerのアップロード()メソッドでPart.getSubmittedFileName()メソッドであると思われます。このエラーは、ローカルマシンではなくリモートサーバーでのみ発生します。

答えて

0

私は、Tomcatコードの編集を含む回避策を考え出しました。ファイルパスからバックスラッシュを取り除く

fileName = HttpParser.unquote(fileName.trim());

た:私は、ライン152はApplicationPart.getSubmittedFileName()方法に問題を絞り込みます。私はその行を削除し、アップロードは正しく機能しました。

これを行うより良い方法がある場合は、質問に答えてください。ありがとう!

関連する問題