2011-12-24 11 views
2

彼を私は依存性注入MessageSourceためスタンドアロンアプリケーションを使用しています & PropertyPlaceHolderはサポート、休止/ JDBCサポート、ユニットテスト、と私は思っていた何ですか最小のjarファイルが上記の必要条件に必要です。また、スタンドアロンアプリケーションのようにアプリケーションのサイズを大きくする必要はありませんので、私の現在の設定からいくつかのjarファイルや依存関係を除外することができます。私ができるよう小さなとしてアプリケーションのサイズは、ここで私が今使用しています依存関係です:スタンドアロンアプリケーションでスプリングを使用するために必要な最小限のジャーは何ですか?

<dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-expression</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-beans</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aop</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context-support</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-jdbc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-oxm</artifactId> 
      <version>${spring.version}</version> 
     </dependency>  

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>${spring.version}</version> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-asm</artifactId> 
      <version>${spring.version}</version> 

     </dependency> 

UPDATE:

後に依存関係を最小限に抑える:

  1. spring-コア。
  2. 春豆。
  3. スプリングコンテキスト。
  4. スプリングコンテキストサポート。
  5. スプリング式。
  6. spring-jdbc。
  7. spring-orm。
  8. hibernate-entitymanager。
  9. validation-api。
  10. hibernate-validator。
  11. junit。
  12. commons-logging。
  13. slf4j-simple。
  14. log4j。
  15. derby。
  16. cglib。

    1. 活性化-1.1.jar
    2. ANTLR-2.7.6.jar
    3. :私はまだ私は、彼らは私の要件に重要であるか、ない場合はわからない、いくつかのjarファイルを参照してください

    aopalliance-1.0.jar

  17. ASM-3.3.1.jar
  18. コモンズ・コレクション-3.1.jar
  19. のdom4j-1.6.1.jar
  20. Javassistの-3.9.0.GA.jar
  21. JMS-1.1.jar
  22. メール1.4.jar
  23. スプリングAOP-3.0.5.RELEASE.jar
  24. ばねASM-3.0 .5。リリース。
  25. 春-TX-3.0.5.RELEASE.jar
  26. XML-APIを-1.0.b2.jar

をjarファイル私は彼らからいくつかのjarファイルを除外する必要がある場合はお知らせください。

+0

Mavenを使用しているので、直接の依存関係のみをリストアップしてMavenに推移的な依存関係をダウンロードさせるのはなぜですか? –

+0

私は残念ですが、私はそれが面白いとは思っていません、もう少し説明してください。どういう意味ですか? –

+0

あなたのコードが直接依存する依存関係(spring-jdbc、spring-orm、おそらく)をリストし、MavenはこれらのアーチファクトのPOMを使用して、必要な他のアーチファクト(スプリングコード、スプリングコンテキストなど) 。自動的にそれらをダウンロードしてクラスパスで利用できるようにします。 –

答えて

5

推移的な依存関係のいくつかは使用されていない可能性がありますが、これを判別する自動化された方法はありません。すべての推移的な依存関係を除外して(除外タグを使用して)、アプリケーションをビルドして実行し、エラーが発生したときに適切な依存関係を追加し続けることができます。それらのうちのいくつかはコンパイルに失敗し、他は実行時にアプリケーションに失敗します。

0
<dependency> 
     <groupId>org.springframework.ws</groupId> 
     <artifactId>spring-ws-core</artifactId> 
     <version>1.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework.ws</groupId> 
     <artifactId>spring-ws-security</artifactId> 
     <version>1.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-core</artifactId> 
     <version>2.0.4</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-core-tiger</artifactId> 
     <version>2.0.4</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-acl</artifactId> 
     <version>2.0.4</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-taglibs</artifactId> 
     <version>2.0.4</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jms</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc-struts</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-webmvc</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-tx</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-orm</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context-support</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <version>2.5.6</version> 
     </dependency> 
     <dependency> 
     <groupId>javax.persistence</groupId> 
     <artifactId>persistence-api</artifactId> 
     <version>1.0</version> 
     </dependency> 
     <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>3.3.1.GA</version> 
     </dependency> 
     <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-annotations</artifactId> 
     <version>3.4.0.GA</version> 
     </dependency> 
     <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>3.4.0.GA</version> 
     </dependency> 
     <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>3.1.0.GA</version> 
     </dependency> 
関連する問題