2011-10-17 8 views
4

私はJSF 2アプリケーション とTomcatの7はEL 2.2 が設けられており、私は後約混乱していますためEL 2.2を使用したい:JSF 2.0とEL 2.2でTomcat 7のMaven pomを設定する方法は?

1-私は、サーブレットAPIを提供する必要がありますのjsp-APIEL(Mavenを使用して)私のポンポンファイル内を提供したり、彼らはプロなので、ポンポンファイル内のすべてのそれらを含んでいないとしてコンテナによって提供される、違いは何ですか?

<dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>3.0</version> 
      <scope>provided</scope> 
     </dependency> 


     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.2</version> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
     <groupId>javax.el</groupId> 
     <artifactId>el-api</artifactId> 
     <version>2.2</version> 
     <scope>provided</scope> 
     </dependency> 

2-これらはEL 2.2を使用できるようにpomファイルに追加するために必要なライブラリですか?

3-この記事のようにのweb.xmlに必要な追加の設定がありますです:

http://code2inspire.wordpress.com/2010/11/05/how-to-enable-el-2-2-on-tomcat-6/

アドバイスしてください。

答えて

2
  1. tomcatには既に含まれているので、pom.xmlファイルに含める必要はありません。しかし、私の経験では、いくつかのサーブレットプログラミングをしようとすると、servlet-api依存関係をpomに含める必要が生じます。あなたが言ったように、すでにTomcatに入っているので、スコープを定義しておいてください。そして、戦争を構築するときに、サーブレット-pi jarをpomから取り込むのをやめてください。私の2セントは、依存関係を実行している間はそれを含めるのではなく、必要が生じたときにインクルードし、pom.xmlにそれが含まれている理由を記録します。

  2. コンテナに実装済みのものであれば、他の依存関係を宣言する必要はありません。私はそれも使用しているので、私はそれを使用していると仮定しています。EL 2.xを利用するためには、pom依存関係の何も宣言しません。

  3. imはt7を使用して以来、コアjsf第3版の本、それはうまくいった

+0

私の質問はほとんど何よりも建築的なものです。私のコードは、el-api.jar(tomcat libのデフォルトで提供される)で動作せず、el-api-2.2.jarが必要です。 #1。それをpom.xmlに追加するのは意味がありますか? #2。 pom.xmlに追加した場合、ライブラリは何らかの形で干渉しますか? #3。 el-api.jarを最新のv2.2に置き換えるだけですか? – Dexter

+1

@Dexter:#1:あなたのコードでサーブレットプログラミングをしたいときにクラスパスにservlet-apiを含める必要があるのと同じように、あなたのコードでEL APIを使用すると意味があると思います。 #2:そのアーティファクトに '提供された'スコープを使用すると、jarファイルがあなたのWARに含まれないので、tomcatのEL APIに干渉しません。 #3:風袋6を使用している場合は、はい。 http://wiki.apache.org/myfaces/HowToEnableEl22の指示に従ってください – bertie

+0

ありがとう、それは私の質問に答えました。 – Dexter

関連する問題