2012-02-17 2 views
0

ビルドツールとしてmavenを使用したspring mvcプロジェクトを開発し、warファイルを作成した後にそのアプリケーションをデプロイすると、tomcatのために競合が発生することを知りたいだけです。プロジェクトはmavenでビルドされているため、Tomcatのバージョン間でランタイム競合が発生しますか?

もっと具体的には、例を挙げてお聞かせください。
開発中に私はTomcatバージョン6.0.xxを持っていると思います。プロダクションサーバーでは、Tomcatバージョンが6.x.xです。 これは競合を引き起こしますか?

ご質問ありがとうございます。

+0

どのような相違について話していますか?もっと具体的にすることができますか... – khmarbaise

+0

私はバージョンの競合について話しています –

答えて

1

可能です。

通常、Tomcatとそのランタイム環境のバージョンに依存する場合、以下のような依存関係のスコープを "提供"する必要があります。これは、基本的に、アプリ:

<dependency> 
    <groupId>com.abc.xyz</groupId> 
    <artifactId>runtimepackage</artifactId> 
    <version>1.2.3</version> 
    <scope>provided</scope> 
</dependency> 

最近、別のバージョンのjettyでこの問題が発生しました。そのランタイム環境に配備別のパッケージは桟橋6(getHeaders(と呼ばれる方法はありません))サーブレットAPI 2.5を使用桟橋8

  • を使用しながら、桟橋6を使用していた提供されるスコープた一のパッケージ
  • 桟橋図8は、サーブレットAPI 3.0

マイモジュール桟橋8を用いて(したがってサーブレットAPI 3.0)とHttpServletRequestオブジェクトからgetHeaders()を呼び出した(getHeaders()と呼ばれるメソッドを有する)を使用します。私がローカルに走ったとき、すべてがうまくいった。しかし、デプロイされ、getHeaders()が呼び出されると、NoSuchMethod例外がトリガーされます。私はあなたの環境をより密接に一致させるために私のローカルセットアップを変更し、問題を再現できました。

希望と参考になる希望

関連する問題