Какие минимальные банки необходимы для пружины для использования в автономном режиме? - PullRequest
2 голосов
/ 25 декабря 2011

его я использую пружину в автономном приложении для Внедрение зависимостей , Источник сообщений & PropertyPlaceHolder support , поддержка Hibernate / 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. весна-ядро.
  2. весна-бобы.
  3. весна-контекст.
  4. весна-контекст-поддержка.
  5. весна-выражение.
  6. весна JDBC.
  7. весна-ОРМ.
  8. зимуют-EntityManager.
  9. проверка-апи.
  10. зимуют-валидатор.
  11. JUnit.
  12. Обще-каротаж.
  13. SLF4J-простой.
  14. log4j.
  15. котелок.
  16. CGLIB.

Я все еще вижу некоторые банки, которые я не уверен, важны ли они для моих требований или нет:

  1. активация-1.1.jar
  2. ANTLR-2.7.6.jar
  3. aopalliance-1.0.jar
  4. ASM-3.3.1.jar
  5. Викисклад коллекция-3.1.jar
  6. dom4j-1.6.1.jar
  7. Javassist-3.9.0.GA.jar
  8. JMS-1.1.jar
  9. почта-1.4.jar
  10. весна-АОП-3.0.5.RELEASE.jar
  11. весна-ASM-3.0.5.RELEASE.jar
  12. весна-ТХ-3.0.5.RELEASE.jar
  13. xml-apis-1.0.b2.jar

ПОЖАЛУЙСТА, сообщите, если я исключу из них несколько банок.

Ответы [ 2 ]

6 голосов
/ 25 декабря 2011

Возможно, что некоторые из транзитивных зависимостей могут быть неиспользованными, но не существует автоматического способа определить это.Вы можете исключить все переходные зависимости для начала (используя тег exclude), собрать / запустить приложение и продолжать добавлять соответствующие зависимости, когда вы получаете ошибку.Некоторые из них потерпят неудачу при компиляции, другие - приложение во время выполнения.

0 голосов
/ 06 мая 2014
 <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>
...