diff --git a/authz-cmd/pom.xml b/authz-cmd/pom.xml
index 2bdca1b..3696094 100644
--- a/authz-cmd/pom.xml
+++ b/authz-cmd/pom.xml
@@ -167,91 +167,56 @@
 				</configuration>
 			</plugin>		
 			<plugin>
-          <groupId>org.jacoco</groupId>
-          <artifactId>jacoco-maven-plugin</artifactId>
-          <version>${jacoco.version}</version>
-          <configuration>
-            <!-- Note: This exclusion list should match <sonar.exclusions>
-         property above -->
-            <excludes>
-              <exclude>**/gen/**</exclude>
-              <exclude>**/generated-sources/**</exclude>
-              <exclude>**/yang-gen/**</exclude>
-              <exclude>**/pax/**</exclude>
-            </excludes>
-          </configuration>
-          <executions>
-            <!--
-        Prepares the property pointing to the JaCoCo runtime agent which
-        is passed as VM argument when Maven the Surefire plugin is executed.
-        -->
-            <execution>
-              <id>pre-unit-test</id>
-              <goals>
-                <goal>prepare-agent</goal>
-              </goals>
-              <configuration>
-                <!-- Sets the path to the file which contains the execution data. -->
-                <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
-                <!--
-            Sets the name of the property containing the settings
-            for JaCoCo runtime agent.
-        -->
-                <propertyName>surefireArgLine</propertyName>
-              </configuration>
-            </execution>
-            <!--
-        Ensures that the code coverage report for unit tests is created after
-        unit tests have been run.
-        -->
-            <execution>
-              <id>post-unit-test</id>
-              <phase>test</phase>
-              <goals>
-                <goal>report</goal>
-              </goals>
-              <configuration>
-                <!-- Sets the path to the file which contains the execution data. -->
-                <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
-                <!-- Sets the output directory for the code coverage report. -->
-                <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
-              </configuration>
-            </execution>
-            <execution>
-              <id>pre-integration-test</id>
-              <phase>pre-integration-test</phase>
-              <goals>
-                <goal>prepare-agent</goal>
-              </goals>
-              <configuration>
-                <!-- Sets the path to the file which contains the execution data. -->
-                <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
-                <!--
-            Sets the name of the property containing the settings
-            for JaCoCo runtime agent.
-        -->
-                <propertyName>failsafeArgLine</propertyName>
-              </configuration>
-            </execution>
-            <!--
-        Ensures that the code coverage report for integration tests after
-        integration tests have been run.
-        -->
-            <execution>
-              <id>post-integration-test</id>
-              <phase>post-integration-test</phase>
-              <goals>
-                <goal>report</goal>
-              </goals>
-              <configuration>
-                <!-- Sets the path to the file which contains the execution data. -->
-                <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
-                <!-- Sets the output directory for the code coverage report. -->
-                <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
-              </configuration>
-            </execution>
-          </executions>
-        </plugin>                    
+				<groupId>org.jacoco</groupId>
+				<artifactId>jacoco-maven-plugin</artifactId>
+				<version>0.7.7.201606060606</version>
+				<configuration>
+					<dumpOnExit>true</dumpOnExit>
+					<includes>
+						<include>org.onap.aaf.*</include>
+					</includes>
+				</configuration>
+				<executions>
+					<execution>
+						<id>pre-unit-test</id>
+						<goals>
+							<goal>prepare-agent</goal>
+						</goals>
+						<configuration>
+							<destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
+							<!-- <append>true</append> -->
+						</configuration>
+					</execution>
+					<execution>
+						<id>pre-integration-test</id>
+						<phase>pre-integration-test</phase>
+						<goals>
+							<goal>prepare-agent</goal>
+						</goals>
+						<configuration>
+							<destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
+							<!-- <append>true</append> -->
+						</configuration>
+					</execution>
+					<execution>
+                        <goals>
+                            <goal>merge</goal>
+                        </goals>
+                        <phase>post-integration-test</phase>
+                        <configuration>
+                            <fileSets>
+                                <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
+                                    <directory>${project.build.directory}/coverage-reports</directory>
+                                    <includes>
+                                        <include>*.exec</include>
+                                    </includes>
+                                </fileSet>
+                            </fileSets>
+                            <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
+                        </configuration>
+                    </execution>
+				</executions>
+			</plugin>
 
 		
 			</plugins>
