diff --git a/tools/package/archetypes/api/src/main/resources/META-INF/maven/archetype-metadata.xml b/tools/package/archetypes/api/src/main/resources/META-INF/maven/archetype-metadata.xml
index 4a0a850..0117552 100644
--- a/tools/package/archetypes/api/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/tools/package/archetypes/api/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -29,7 +29,7 @@
     </fileSets>
     <requiredProperties>
         <requiredProperty key="onosVersion">
-            <defaultValue>2.2.1-SNAPSHOT</defaultValue>
+            <defaultValue>2.2.1-b3</defaultValue>
         </requiredProperty>
     </requiredProperties>
 </archetype-descriptor>
diff --git a/tools/package/archetypes/bundle/src/main/resources/META-INF/maven/archetype-metadata.xml b/tools/package/archetypes/bundle/src/main/resources/META-INF/maven/archetype-metadata.xml
index ee3f072..e8c01f3 100644
--- a/tools/package/archetypes/bundle/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/tools/package/archetypes/bundle/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -35,7 +35,7 @@
     </fileSets>
     <requiredProperties>
         <requiredProperty key="onosVersion">
-            <defaultValue>2.2.1-SNAPSHOT</defaultValue>
+            <defaultValue>2.2.1-b3</defaultValue>
         </requiredProperty>
     </requiredProperties>
 </archetype-descriptor>
diff --git a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java
index c2fc6428..68d35f1 100644
--- a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java
+++ b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/AppComponent.java
@@ -18,7 +18,6 @@
  */
 package ${package};
 
-import com.google.common.collect.ImmutableSet;
 import org.onosproject.cfg.ComponentConfigService;
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.component.annotations.Activate;
diff --git a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/package-info.java b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/package-info.java
new file mode 100644
index 0000000..0096476
--- /dev/null
+++ b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/main/java/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2014-present Open Networking Foundation
+ *
+ * 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.
+ */
+
+/**
+ * Administrative console command-line extensions.
+ */
+package ${package};
\ No newline at end of file
diff --git a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/test/java/AppComponentTest.java b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/test/java/AppComponentTest.java
index 05e712d..bcb3bdf 100644
--- a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/test/java/AppComponentTest.java
+++ b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/src/test/java/AppComponentTest.java
@@ -21,11 +21,7 @@
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.onosproject.cfg.ComponentConfigService;
 import org.onosproject.cfg.ComponentConfigAdapter;
-import org.onosproject.cfg.ConfigProperty;
-
-import java.util.Set;
 
 /**
  * Set of tests of the ONOS application component.
diff --git a/tools/package/archetypes/cli/src/main/resources/META-INF/maven/archetype-metadata.xml b/tools/package/archetypes/cli/src/main/resources/META-INF/maven/archetype-metadata.xml
index a6619f2..e1ee8c4 100644
--- a/tools/package/archetypes/cli/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/tools/package/archetypes/cli/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -35,7 +35,7 @@
     </fileSets>
     <requiredProperties>
         <requiredProperty key="onosVersion">
-            <defaultValue>2.2.1-SNAPSHOT</defaultValue>
+            <defaultValue>2.2.1-b3</defaultValue>
         </requiredProperty>
     </requiredProperties>
 </archetype-descriptor>
diff --git a/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/java/AppCommand.java b/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/java/AppCommand.java
index b9ac3ec..19f07dc 100644
--- a/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/java/AppCommand.java
+++ b/tools/package/archetypes/cli/src/main/resources/archetype-resources/src/main/java/AppCommand.java
@@ -20,7 +20,7 @@
 import org.onosproject.cli.AbstractShellCommand;
 
 /**
- * Sample Apache Karaf CLI command
+ * Sample Apache Karaf CLI command.
  */
 @Service
 @Command(scope = "onos", name = "sample",
diff --git a/tools/package/archetypes/rest/src/main/resources/META-INF/maven/archetype-metadata.xml b/tools/package/archetypes/rest/src/main/resources/META-INF/maven/archetype-metadata.xml
index f6bfca2..5f1db13 100644
--- a/tools/package/archetypes/rest/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/tools/package/archetypes/rest/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -35,7 +35,7 @@
     </fileSets>
     <requiredProperties>
         <requiredProperty key="onosVersion">
-            <defaultValue>2.2.1-SNAPSHOT</defaultValue>
+            <defaultValue>2.2.1-b3</defaultValue>
         </requiredProperty>
     </requiredProperties>
 </archetype-descriptor>
diff --git a/tools/package/archetypes/rest/src/main/resources/archetype-resources/src/main/java/AppWebResource.java b/tools/package/archetypes/rest/src/main/resources/archetype-resources/src/main/java/AppWebResource.java
index 0438d39..89f596f 100644
--- a/tools/package/archetypes/rest/src/main/resources/archetype-resources/src/main/java/AppWebResource.java
+++ b/tools/package/archetypes/rest/src/main/resources/archetype-resources/src/main/java/AppWebResource.java
@@ -25,8 +25,6 @@
 import javax.ws.rs.Path;
 import javax.ws.rs.core.Response;
 
-import static org.onlab.util.Tools.nullIsNotFound;
-
 /**
  * Sample web resource.
  */
diff --git a/tools/package/archetypes/ui/src/main/resources/META-INF/maven/archetype-metadata.xml b/tools/package/archetypes/ui/src/main/resources/META-INF/maven/archetype-metadata.xml
index 8e61058..31b1379 100644
--- a/tools/package/archetypes/ui/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/tools/package/archetypes/ui/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -37,7 +37,7 @@
     </fileSets>
     <requiredProperties>
         <requiredProperty key="onosVersion">
-            <defaultValue>2.2.1-SNAPSHOT</defaultValue>
+            <defaultValue>2.2.1-b3</defaultValue>
         </requiredProperty>
     </requiredProperties>
 </archetype-descriptor>
diff --git a/tools/package/archetypes/ui2/src/main/resources/META-INF/maven/archetype-metadata.xml b/tools/package/archetypes/ui2/src/main/resources/META-INF/maven/archetype-metadata.xml
index 92f81d8..e2dd09e 100644
--- a/tools/package/archetypes/ui2/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/tools/package/archetypes/ui2/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -63,7 +63,7 @@
     </fileSets>
     <requiredProperties>
         <requiredProperty key="onosVersion">
-            <defaultValue>2.2.1-SNAPSHOT</defaultValue>
+            <defaultValue>2.2.1-b3</defaultValue>
         </requiredProperty>
     </requiredProperties>
 </archetype-descriptor>
diff --git a/tools/package/archetypes/uitab/src/main/resources/META-INF/maven/archetype-metadata.xml b/tools/package/archetypes/uitab/src/main/resources/META-INF/maven/archetype-metadata.xml
index 935ea83..a3a20d40 100644
--- a/tools/package/archetypes/uitab/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/tools/package/archetypes/uitab/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -38,7 +38,7 @@
     </fileSets>
     <requiredProperties>
         <requiredProperty key="onosVersion">
-            <defaultValue>2.2.1-SNAPSHOT</defaultValue>
+            <defaultValue>2.2.1-b3</defaultValue>
         </requiredProperty>
     </requiredProperties>
 </archetype-descriptor>
diff --git a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java
index 312478c..2645c32 100644
--- a/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java
+++ b/tools/package/archetypes/uitab/src/main/resources/archetype-resources/src/main/java/AppUiTableMessageHandler.java
@@ -27,7 +27,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.lang.Override;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
@@ -53,7 +52,7 @@
     private static final String COMMENT = "comment";
     private static final String RESULT = "result";
 
-    private static final String[] COLUMN_IDS = { ID, LABEL, CODE };
+    private static final String[] COLUMN_IDS = {ID, LABEL, CODE};
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
@@ -190,8 +189,16 @@
             this.code = code;
         }
 
-        String id() { return id; }
-        String label() { return label; }
-        int code() { return code; }
+        String id() {
+            return id;
+        }
+
+        String label() {
+            return label;
+        }
+
+        int code() {
+            return code;
+        }
     }
 }
diff --git a/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml b/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml
index 20cb7c4..568e1a0 100644
--- a/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/tools/package/archetypes/uitopo/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -38,7 +38,7 @@
     </fileSets>
     <requiredProperties>
         <requiredProperty key="onosVersion">
-            <defaultValue>2.2.1-SNAPSHOT</defaultValue>
+            <defaultValue>2.2.1-b3</defaultValue>
         </requiredProperty>
     </requiredProperties>
 </archetype-descriptor>
