diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/AetherResolver.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/AetherResolver.java
index 132cc13..1850779 100644
--- a/tools/build/libgen/src/main/java/org/onosproject/libgen/AetherResolver.java
+++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/AetherResolver.java
@@ -39,6 +39,7 @@
 
 import java.io.BufferedReader;
 import java.io.FileReader;
+import java.io.IOException;
 import java.io.Reader;
 import java.nio.file.Paths;
 import java.util.Arrays;
@@ -142,6 +143,9 @@
             Attributes attrs = jar.getManifest().getMainAttributes();
             return attrs.getValue("Bundle-SymbolicName") != null &&
                     attrs.getValue("Bundle-Version") != null;
+        } catch (IOException e) {
+            // wasn't jar
+            return false;
         }
     }
 
diff --git a/tools/package/karaf-offline/pom.xml b/tools/package/karaf-offline/pom.xml
new file mode 100644
index 0000000..b37022b
--- /dev/null
+++ b/tools/package/karaf-offline/pom.xml
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>org.onosproject</groupId>
+    <artifactId>apache-karaf-offline</artifactId>
+    <version>3.0.8</version>
+    <name>${project.artifactId}</name>
+    <description>Maven POM for Offline Karaf server</description>
+    <packaging>karaf-assembly</packaging>
+
+    <!-- based on https://github.com/juttayaya/karaf/tree/master/karaf3/offline-karaf-->
+    <url>http://onosproject.org/</url>
+
+    <scm>
+        <connection>scm:git:https://gerrit.onosproject.org/onos</connection>
+        <developerConnection>scm:git:https://gerrit.onosproject.org/onos
+        </developerConnection>
+        <url>http://gerrit.onosproject.org/</url>
+    </scm>
+
+    <licenses>
+        <license>
+            <name>Apache License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+    </licenses>
+
+    <developers>
+        <developer>
+            <organization>Open Networking Lab</organization>
+            <url>http://onlab.us</url>
+        </developer>
+    </developers>
+
+    <properties>
+        <karaf.version>3.0.8</karaf.version>
+        <!-- maven-compiler-plugin setting.
+             Karaf 3 runs on Java 7 or later -->
+        <!-- Specific Maven Plugin Versions -->
+        <!-- Karaf Maven Plugin does not have to be same as Karaf Server version
+             For example, Karaf Maven Plugin 3.0.2 has bug uploading to password protected Nexus Repo
+             So I used Karaf Maven Plugin 3.0.3 to build a Karaf 3.0.2 Server -->
+        <karaf.plugin.version>${karaf.version}</karaf.plugin.version>
+    </properties>
+
+    <distributionManagement>
+        <snapshotRepository>
+            <id>ossrh</id>
+            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+        </snapshotRepository>
+        <repository>
+          <id>ossrh</id>
+          <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
+        </repository>
+    </distributionManagement>
+
+    <dependencyManagement>
+        <!-- Import Karaf POM to use the correct version of the Karaf dependencies -->
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf</artifactId>
+                <version>${karaf.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    <dependencies>
+        <dependency>
+            <!-- scope is compile so all features (there is only one) are installed into startup.properties and
+                 the feature repo itself is not added in etc/org.apache.karaf.features.cfg file -->
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>framework</artifactId>
+            <type>kar</type>
+            <scope>compile</scope>
+        </dependency>
+
+        <dependency>
+            <!-- Scope is runtime so the feature repo is listed in etc/org.apache.karaf.features.cfg file,
+                 and features will installed into the system directory.
+
+                 This imports the standard Karaf features described at
+                 https://repo1.maven.org/maven2/org/apache/karaf/features/standard/3.0.4/standard-3.0.4-features.xml
+                 These features are installed in the karaf-maven-plugin configuration
+            -->
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>standard</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
+        <!-- https://repo1.maven.org/maven2/org/apache/camel/karaf/apache-camel/2.15.2/apache-camel-2.15.2-features.xml -->
+        <!-- <dependency>
+            <groupId>org.apache.camel.karaf</groupId>
+            <artifactId>apache-camel</artifactId>
+            <version>${camel.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency> -->
+        <!-- https://repo1.maven.org/maven2/org/apache/karaf/features/spring/3.0.4/spring-3.0.4-features.xml
+             Needed for Camel feature dependency
+        -->
+        <!-- <dependency>
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>spring</artifactId>
+            <version>${karaf.version}</version>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency> -->
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-maven-plugin</artifactId>
+                <!-- Plugin requires at minimum 3.0.3 version for dependency=true bug fix
+                     https://issues.apache.org/jira/browse/KARAF-2596 -->
+                <version>${karaf.plugin.version}</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <karafVersion>${karaf.version}</karafVersion>
+                    <!-- ignoreDependencyFlag is true forces plugin to also
+                         download feature dependent libraries -->
+                    <ignoreDependencyFlag>true</ignoreDependencyFlag>
+                    <!-- bootFeatures starts up these features when Karaf first boots up.
+                         The feature names are obtained from the features.xml in the
+                         dependencies section
+                     -->
+                    <bootFeatures>
+                        <feature>standard</feature>
+                        <feature>ssh</feature>
+                        <feature>scr</feature>
+                        <feature>war</feature>
+                        <feature>webconsole</feature>
+                    </bootFeatures>
+                    <!-- installedFeatures only installs the libraries in the ${KARAF_HOME}/system directory
+                         but the user will have to start it up manually via Karaf command line feature:install
+                    -->
+                    <installedFeatures>
+                        <!-- <feature>jndi</feature> -->
+                    </installedFeatures>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <!-- <executions>
+                    <execution>
+                        <id>copy</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>copy</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.apache.karaf.jaas</groupId>
+                                    <artifactId>org.apache.karaf.jaas.boot</artifactId>
+                                    <version>${karaf.version}</version>
+                                    <outputDirectory>target/assembly/system/org/apache/karaf/jaas/org.apache.karaf.jaas.boot</outputDirectory>
+                                </artifactItem>
+                            </artifactItems>
+                        </configuration>
+                    </execution>
+                </executions> -->
+            </plugin>
+
+            <plugin>
+              <groupId>org.sonatype.plugins</groupId>
+              <artifactId>nexus-staging-maven-plugin</artifactId>
+              <version>1.6.8</version>
+              <extensions>true</extensions>
+              <configuration>
+                <serverId>ossrh</serverId>
+                <nexusUrl>https://oss.sonatype.org/</nexusUrl>
+                <autoReleaseAfterClose>true</autoReleaseAfterClose>
+              </configuration>
+            </plugin>
+
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-gpg-plugin</artifactId>
+              <version>1.6</version>
+              <executions>
+                <execution>
+                  <id>sign-artifacts</id>
+                  <phase>verify</phase>
+                  <goals>
+                    <goal>sign</goal>
+                  </goals>
+                </execution>
+              </executions>
+            </plugin>
+
+        </plugins>
+    </build>
+    <repositories>
+        <!-- This is the repository location of org.eclipse.equinox:region:jar:1.0.0.v20110506
+             for the "region" Karaf feature
+         -->
+        <!-- <repository>
+            <id>servicemix</id>
+            <name>ServiceMix Repo for Karaf</name>
+            <url>http://svn.apache.org/repos/asf/servicemix/m2-repo</url>
+        </repository> -->
+    </repositories>
+</project>
diff --git a/tools/package/onos-prep-karaf b/tools/package/onos-prep-karaf
index ed89fb2..718630c 100755
--- a/tools/package/onos-prep-karaf
+++ b/tools/package/onos-prep-karaf
@@ -18,6 +18,9 @@
 # Unroll the Apache Karaf bits, prune them and make ONOS top-level directories.
 tar xf $KARAF_TAR
 
+# rename path name to match what was distributed with vicci
+mv "$(ls -d apache*)" "apache-karaf-$KARAF_VERSION" || true
+
 # Unroll the Apache Karaf bits, prune them and make ONOS top-level directories.
 KARAF_DIR=$(ls -d apache*)
 rm -rf $KARAF_DIR/demos
@@ -38,7 +41,7 @@
     $KARAF_DIR/etc/org.apache.karaf.features.cfg
 
 # Patch the Apache Karaf distribution file to load default ONOS boot features
-perl -pi.old -e "s|^(featuresBoot=).*|\1$BOOT_FEATURES|" \
+perl -pi.old -e "s|^(featuresBoot ?= ?).*|\1$BOOT_FEATURES|" \
     $KARAF_DIR/etc/org.apache.karaf.features.cfg
 
 
