Repository: iluwatar/java-design-patterns
Issue: Maven build fail - Project "image-microservice" pom.xml lack of version field
Labels: epic: ide issue

Hi. When I run "mvn eclipse:eclipse" in the base path to convert to eclipse project.
An error occur and it's error info as below.

`[ERROR] Failed to execute goal org.apache.maven.plugins:maven-eclipse-plugin:2.10:eclipse (default-cli) on project image-microservice: Execution default-cli of goal org.apache.maven.plugins:maven-eclipse-plugin:2.10:eclipse failed: For artifact {org.springframework.boot:spring-boot-dependencies:null:jar}: The version cannot be empty. -> [Help 1]  `

Does the 'version' field is abscent? 
The target dependency in java-design-patterns\api-gateway\image-microservice\pom.xml is:

## <dependencies>
       <dependency>
         <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
       </dependency>
## </dependencies>



Issue comments:
Hi,

This error is coming, because 'spring-boot-dependencies' dependency is redeclared inside dependencyManagement section of image-microservice project without specifying it's version.  This dependency has already a version in the top parent pom.xml (https://github.com/iluwatar/java-design-patterns/blob/master/pom.xml).

To correct this issue remove dependencyManagement section from  java-design-patterns\api-gateway\image-microservice\pom.xml and declare this dependency in dependencies section of this pom.xml.

Kind Regards,
Neeraj Mahajan
Hi,
Maven build is still failing.
I have found below modules in which the spring-boot-dependencies are redeclared in the 'dependencyManagement' section due to which the mavel build fails :
1. 'aggregator-microservices\aggregator-service\pom.xml'
2. 'aggregator-microservices\information-microservice\pom.xml'
3. 'aggregator-microservices\inventory-microservice\pom.xml'
4. 'api-gateway\image-microservice\pom.xml'
5. 'api-gateway\api-gateway-service\pom.xml'
6. 'api-gateway\price-microservice\pom.xml'
The build succeeds if the redeclaration is removed. Should these dependencies be removed.

I can fix this one!
Ok @perwramdemark 

Pull request review comments:

Patch that resolved the issue:
diff --git a/aggregator-microservices/aggregator-service/pom.xml b/aggregator-microservices/aggregator-service/pom.xml
index dbe303809f9b..6ad8c3c8c5a4 100644
--- a/aggregator-microservices/aggregator-service/pom.xml
+++ b/aggregator-microservices/aggregator-service/pom.xml
@@ -32,18 +32,8 @@
         <version>1.22.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-
     <artifactId>aggregator-service</artifactId>
     <packaging>jar</packaging>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
     <dependencies>
         <dependency>
             <groupId>org.springframework</groupId>
@@ -74,7 +64,6 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>${spring-boot.version}</version>
                 <executions>
                     <execution>
                         <goals>
diff --git a/aggregator-microservices/information-microservice/pom.xml b/aggregator-microservices/information-microservice/pom.xml
index b15af35e4b82..54113d3ad2eb 100644
--- a/aggregator-microservices/information-microservice/pom.xml
+++ b/aggregator-microservices/information-microservice/pom.xml
@@ -36,14 +36,6 @@
     <artifactId>information-microservice</artifactId>
     <packaging>jar</packaging>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
     <dependencies>
         <dependency>
             <groupId>org.springframework</groupId>
@@ -65,7 +57,6 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>${spring-boot.version}</version>
                 <executions>
                     <execution>
                         <goals>
diff --git a/aggregator-microservices/inventory-microservice/pom.xml b/aggregator-microservices/inventory-microservice/pom.xml
index 1791ee72c9e8..3a24e9540edf 100644
--- a/aggregator-microservices/inventory-microservice/pom.xml
+++ b/aggregator-microservices/inventory-microservice/pom.xml
@@ -32,18 +32,9 @@
         <version>1.22.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-
     <artifactId>inventory-microservice</artifactId>
-    <packaging>jar</packaging>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
+    <packaging>jar</packaging>
     <dependencies>
         <dependency>
             <groupId>org.springframework</groupId>
@@ -65,7 +56,6 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>${spring-boot.version}</version>
                 <executions>
                     <execution>
                         <goals>
diff --git a/api-gateway/api-gateway-service/pom.xml b/api-gateway/api-gateway-service/pom.xml
index 82aa6aedef80..44a8bde37923 100644
--- a/api-gateway/api-gateway-service/pom.xml
+++ b/api-gateway/api-gateway-service/pom.xml
@@ -34,15 +34,6 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>api-gateway-service</artifactId>
   <packaging>jar</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-dependencies</artifactId>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
   <dependencies>
     <dependency>
       <groupId>org.springframework</groupId>
@@ -73,7 +64,6 @@
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
-        <version>${spring-boot.version}</version>
         <executions>
           <execution>
             <goals>
diff --git a/api-gateway/image-microservice/pom.xml b/api-gateway/image-microservice/pom.xml
index c4367cdd8f45..4c897325d931 100644
--- a/api-gateway/image-microservice/pom.xml
+++ b/api-gateway/image-microservice/pom.xml
@@ -31,19 +31,9 @@
     <groupId>com.iluwatar</groupId>
     <version>1.22.0-SNAPSHOT</version>
   </parent>
-
   <modelVersion>4.0.0</modelVersion>
   <artifactId>image-microservice</artifactId>
   <packaging>jar</packaging>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-dependencies</artifactId>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
   <dependencies>
     <dependency>
       <groupId>org.springframework</groupId>
@@ -65,7 +55,6 @@
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
-        <version>${spring-boot.version}</version>
         <executions>
           <execution>
             <goals>
diff --git a/api-gateway/price-microservice/pom.xml b/api-gateway/price-microservice/pom.xml
index 89aaba7ae7d4..21a68dc6efd3 100644
--- a/api-gateway/price-microservice/pom.xml
+++ b/api-gateway/price-microservice/pom.xml
@@ -36,14 +36,6 @@
   <artifactId>price-microservice</artifactId>
   <packaging>jar</packaging>
 
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-dependencies</artifactId>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
   <dependencies>
     <dependency>
       <groupId>org.springframework</groupId>
@@ -65,7 +57,6 @@
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
-        <version>${spring-boot.version}</version>
         <executions>
           <execution>
             <goals>
diff --git a/pom.xml b/pom.xml
index ce773f61a243..5dfb1fff4376 100644
--- a/pom.xml
+++ b/pom.xml
@@ -211,11 +211,6 @@
                 <artifactId>spring-webmvc</artifactId>
                 <version>${spring.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-starter-web</artifactId>
-                <version>${spring-boot.version}</version>
-            </dependency>
             <dependency>
                 <groupId>org.apache.httpcomponents</groupId>
                 <artifactId>httpclient</artifactId>


Test patch: