diff --git a/test/pom.xml b/test/pom.xml
index 99cecc8..8af1157 100755
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -1,46 +1,50 @@
-<!--
-    Copyright 2018 the original author or authors.
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
-    pom.xml
-
-    This test validates that go proto outputs are committed to git.  It does this
-    by regenerating them and validating whether git thinks they are the same. If
-    they become out of sync, there can be problems for consumers of the protos.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-  
-  
-  <groupId>opencord</groupId>
-  <artifactId>voltha-protos</artifactId>
-  <version>3.0-SNAPSHOT</version>
-  
-<dependencies>
-<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
-<dependency>
-    <groupId>com.google.protobuf</groupId>
-    <artifactId>protobuf-java</artifactId>
-    <version>3.10.0</version>
-   </dependency>
-<dependency>
-    <groupId>com.google.api.grpc</groupId>
-    <artifactId>googleapis-common-protos</artifactId>
-    <version>0.0.3</version>
-</dependency>
-</dependencies>
-
-</project>
+<!--
+    Copyright 2018 the original author or authors.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+    pom.xml
+
+    This test validates that go proto outputs are committed to git.  It does this
+    by regenerating them and validating whether git thinks they are the same. If
+    they become out of sync, there can be problems for consumers of the protos.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>opencord</groupId>
+  <artifactId>voltha-protos</artifactId>
+  <version>3.0-SNAPSHOT</version>
+
+  <properties>
+     <maven.compiler.source>1.8</maven.compiler.source>
+     <maven.compiler.target>1.8</maven.compiler.target>
+     <encoding>UTF-8</encoding>
+  </properties>
+
+<dependencies>
+<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
+  <dependency>
+    <groupId>com.google.protobuf</groupId>
+    <artifactId>protobuf-java</artifactId>
+    <version>3.10.0</version>
+  </dependency>
+  <dependency>
+    <groupId>com.google.api.grpc</groupId>
+    <artifactId>googleapis-common-protos</artifactId>
+    <version>0.0.3</version>
+  </dependency>
+</dependencies>
+
+</project>
