2017-12-13 29 views
0

Mavenでビルドされたwarファイルがあります。これには、必要なすべての依存関係(RESTサービス)が含まれています。 Java JRE 1.8.0_152とTomcat 8.5.24を両方のマシンで使用しています。 1つはWindows 10 64ビットマシンで、もう1つはWindows Server 2012 R2 64ビットマシンです。私は(Eclipse/Mavenで)ビルドしてWindows 10マシンにwarファイルを正常にデプロイしましたが、Windowsサーバーマシンに同じwarファイルをデプロイすると、Tomcatの起動(またはwarファイルのデプロイメント)で次のエラーが発生します。TomcatへのWARファイルのデプロイに失敗しました:URIスキームのエラー

13-Dec-2017 14:41:36.603 SEVERE [bla.bla-startStop-1] org.apache.catalina.core.ApplicationContext.log StandardWrapper.Throwable org.glassfish.jersey.server.internal.scanning.ResourceFinderException: The URI scheme war of the URI war:file:/C:/apache-tomcat-8.5.24/webapps/bla.war*/WEB-INF/classes/bla/bla/ is not supported. Package scanning deployment is not supported for such URIs. 
Try using a different deployment mechanism such as explicitly declaring root resource and provider classes using an extension of javax.ws.rs.core.Application 

そして、私が思うに、さらにメッセージが関連している:

13-Dec-2017 14:41:36.615 SEVERE [bla.bla-startStop-1] org.apache.catalina.core.StandardContext.loadOnStartup Servlet [Jersey REST Service] in web application [/bla] threw load() exception 

私は、RESTのもののためにジャージを使用してが、両方のマシンは、JREの同じバージョンを持っているとTomcatがインストールされていますし、それは同じ戦争ファイルです!(私はTomcatのインストールを一掃し、最初からインストールしました - 同じこと)。

すべての依存関係がwarファイル(ジャージージャーを含む)に含まれていて、Windows 10マシン上で動作しているため、どこから探し始めるかわかりません。私が注目に値するのは、warファイル名( "bla.war *")の後のエラーメッセージのアスタリスクだけです。私はどこから来たのか、それが実際にエラーの根本原因に関係しているのかどうかはわかりません。

ヒント/アイデアはありますか?前もって感謝します !

+1

ダンノーだが、それは別の風刺漫画構成のように見える。サーバ上のTomcat設定は戦争を解凍するように設定されていますか?例えば。 unpackWARs == trueが設定されていることを確認する必要があります。 –

+0

@カールニコラス:ありがとう、私はチェックします。私は両方が "ダウンロード、アンパック、実行"型のTomcatのインストールなので、違いはないと思いますが、それは何かです! –

+0

@KarlNicholas:良い主人 - それはunpackWAR設定でした!私はテスト目的のために2つのエントリを作成したことを忘れていました...あなたのコメントを回答にするにはどうすればいいですか?あなたはクレジットに値する: –

答えて

0

ログファイルは、Tomcat/JVMが.warファイルから直接ファイルを読み取ろうとしていることを示しています。 URI war:file:/C:/apache-tomcat-8.5.24/webapps/bla.war*/WEB-INF/classes/bla/bla/はサポートされていません。このようなURIでは、パッケージスキャンの展開はサポートされていません。 Try using a different deployment mechanismなど明示的にルートリソースを宣言して提供する

だから、それは別のTomcat構成のように見えます。サーバ上のTomcat設定は戦争を解凍するように設定されていますか?例えば。 unpackWARs==trueが設定されていることを確認する必要があります。参考:how to make tomcat explode the war files

+1

カール、それはまさにそれでした。 "サーバー"はインターネット上にあるので、私はいくつかの設定で遊んでいました。その中には2つのホストセクションがありました.1つはunpackWARs = falseでした。細部、大きなインパクト。 :-) –

関連する問題