2014-05-09 5 views
1

J'essaie d'ajouter Spring BOM à mon projet. Mon POM est ci-dessous.en utilisant maven-war-plugin avec Spring BOM

  1. Est-ce que je ne fais pas quelque chose correctement ici?
  2. Aussi, une question semi-connexe: pourquoi les numéros de version pour spring-ws, spring-data-jpa, et d'autres ne s'alignent pas avec la version de printemps, le contexte, etc?

    <build> 
        <finalName>myproject</finalName> 
        <plugins> 
         <plugin> 
          <version>3.1</version> 
          <artifactId>maven-compiler-plugin</artifactId> 
          <configuration> 
           <source>1.7</source> 
           <target>1.7</target> 
          </configuration> 
         </plugin> 
        </plugins> 
    </build> 
    
    <dependencyManagement> 
        <dependencies> 
         <dependency> 
          <groupId>org.springframework</groupId> 
          <artifactId>spring-framework-bom</artifactId> 
          <version>4.0.3.RELEASE</version> 
          <type>pom</type> 
          <scope>import</scope> 
         </dependency> 
         <dependency> 
          <groupId>org.springframework</groupId> 
          <artifactId>spring-core</artifactId> 
          <exclusions> 
           <exclusion> 
            <groupId>commons-logging</groupId> 
            <artifactId>commons-logging</artifactId> 
           </exclusion> 
          </exclusions> 
         </dependency> 
         <dependency> 
          <groupId>org.springframework</groupId> 
          <artifactId>spring-context</artifactId> 
         </dependency> 
        ... 
        </dependencies> 
    </dependencyManagement> 
    
    <dependencies> 
    
        <!-- Spring --> 
        <dependency> 
         <groupId>org.springframework.ws</groupId> 
         <artifactId>spring-ws-core</artifactId> 
         <version>${spring-ws.version}</version> 
        </dependency> 
        <dependency> 
         <groupId>org.springframework.data</groupId> 
         <artifactId>spring-data-jpa</artifactId> 
         <version>${spring-data-jpa.version}</version> 
        </dependency> 
    ... 
    </dependencies> 
    

Elle produit l'erreur suivante:

[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 3.863s 
[INFO] Finished at: Fri May 09 13:15:24 EDT 2014 
[INFO] Final Memory: 17M/214M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on 
project myproject: Execution default-war of goal org.apache.maven.plugins:maven-war-plugin 
:2.1.1:war failed: For artifact {org.springframework:spring-core:null:jar}: The version cannot be em 
pty. -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plug 
ins:maven-war-plugin:2.1.1:war (default-war) on project myproject: Execution default-war o 
f goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war failed: For artifact {org.springframework 
:spring-core:null:jar}: The version cannot be empty. 

Répondre

3

La non-BOM dépendances printemps vont dans la section dependencies, pas dependencyManagement.

<dependencies> 

    <!-- Spring --> 
    <dependency> 
     <groupId>org.springframework.ws</groupId> 
     <artifactId>spring-ws-core</artifactId> 
     <version>${spring-ws.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.data</groupId> 
     <artifactId>spring-data-jpa</artifactId> 
     <version>${spring-data-jpa.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>commons-logging</groupId> 
       <artifactId>commons-logging</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
    </dependency> 
</dependencies> 
+0

c'était le billet. soin de répondre à ma 2ème question pour la meilleure réponse? – kwikness

+1

Je ne suis pas tout à fait sûr de savoir comment ou pourquoi l'équipe de Spring met à jour les choses comme elles le font. Ma conjecture est qu'ils les considèrent comme des suites séparées. Notez que les ID de groupe sont différents. Peut-être que l'équipe de Spring a ses politiques de version sur son site principal quelque part? – user944849

Questions connexes