diff --git a/nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/DownloadIndexMojo.java b/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/DownloadIndexMojo.java
similarity index 99%
rename from nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/DownloadIndexMojo.java
rename to nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/DownloadIndexMojo.java
index 60cccf4..1845303 100644
--- a/nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/DownloadIndexMojo.java
+++ b/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/DownloadIndexMojo.java
@@ -15,7 +15,7 @@
  */
 
 
-package org.apache.netbeans.nbm.repository;
+package org.netbeans.nbm.repository;
 
 import java.io.File;
 import java.net.URI;
diff --git a/nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java b/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/PopulateRepositoryMojo.java
similarity index 99%
rename from nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
rename to nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/PopulateRepositoryMojo.java
index 252f745..2d6a90e 100644
--- a/nb-repository-plugin/src/main/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojo.java
+++ b/nb-repository-plugin/src/main/java/org/netbeans/nbm/repository/PopulateRepositoryMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm.repository;
+package org.netbeans.nbm.repository;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -76,8 +76,8 @@
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.artifact.AttachedArtifact;
 import org.apache.maven.project.artifact.ProjectArtifactMetadata;
-import org.apache.netbeans.nbm.utils.AbstractNetbeansMojo;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.utils.AbstractNetbeansMojo;
+import org.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.Input;
diff --git a/nb-repository-plugin/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java b/nb-repository-plugin/src/test/java/org/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
similarity index 96%
rename from nb-repository-plugin/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
rename to nb-repository-plugin/src/test/java/org/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
index 817de56..369544b 100644
--- a/nb-repository-plugin/src/test/java/org/apache/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
+++ b/nb-repository-plugin/src/test/java/org/netbeans/nbm/repository/PopulateRepositoryMojoTest.java
@@ -15,9 +15,9 @@
  *  under the License.
  */
 
-package org.apache.netbeans.nbm.repository;
+package org.netbeans.nbm.repository;
 
-import org.apache.netbeans.nbm.repository.PopulateRepositoryMojo;
+import org.netbeans.nbm.repository.PopulateRepositoryMojo;
 import java.io.File;
 import junit.framework.TestCase;
 import org.apache.maven.artifact.Artifact;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AbstractNbmMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AbstractNbmMojo.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AbstractNbmMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/AbstractNbmMojo.java
index b13eb20..c17e520 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AbstractNbmMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AbstractNbmMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import java.io.FileReader;
@@ -38,11 +38,11 @@
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
-import org.apache.netbeans.nbm.model.Dependency;
-import org.apache.netbeans.nbm.model.NetBeansModule;
-import org.apache.netbeans.nbm.model.io.xpp3.NetBeansModuleXpp3Reader;
-import org.apache.netbeans.nbm.utils.AbstractNetbeansMojo;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.model.Dependency;
+import org.netbeans.nbm.model.NetBeansModule;
+import org.netbeans.nbm.model.io.xpp3.NetBeansModuleXpp3Reader;
+import org.netbeans.nbm.utils.AbstractNetbeansMojo;
+import org.netbeans.nbm.utils.ExamineManifest;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AdaptNbVersion.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AdaptNbVersion.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AdaptNbVersion.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/AdaptNbVersion.java
index 05b2880..79d15e9 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/AdaptNbVersion.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/AdaptNbVersion.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BrandingMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BrandingMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BrandingMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/BrandingMojo.java
index ad6087c..ff7140d 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BrandingMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BrandingMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import org.apache.maven.plugin.MojoExecutionException;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BuildInstallersMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BuildInstallersMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BuildInstallersMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/BuildInstallersMojo.java
index a01912e..26e92b9 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/BuildInstallersMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/BuildInstallersMojo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  * under the License.
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.*;
 import java.net.JarURLConnection;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectLibrariesNodeVisitor.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectLibrariesNodeVisitor.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectLibrariesNodeVisitor.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectLibrariesNodeVisitor.java
index 5542c17..05642fd 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectLibrariesNodeVisitor.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectLibrariesNodeVisitor.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -27,7 +27,7 @@
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.utils.ExamineManifest;
 
 /**
  * A dependency node visitor that collects visited nodes that are known libraries or are
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
index f9e257b..713b406 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CollectModuleLibrariesNodeVisitor.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -27,7 +27,7 @@
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.utils.ExamineManifest;
 
 /**
  * A dependency node visitor that collects visited nodes that are known libraries or are
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterAppMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterAppMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java
index 69239e0..1c7f1ed 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterAppMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import com.google.common.collect.Sets;
 import java.io.*;
@@ -57,7 +57,7 @@
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.filters.StringInputStream;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterMojo.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterMojo.java
index a1a6bb5..d872258 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateClusterMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import java.io.IOException;
@@ -28,7 +28,7 @@
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.filters.StringInputStream;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNbmMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNbmMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNbmMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNbmMojo.java
index e652083..d36737f 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNbmMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNbmMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNetBeansFileStructure.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNetBeansFileStructure.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNetBeansFileStructure.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNetBeansFileStructure.java
index 3a10d73..8b42e0e 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateNetBeansFileStructure.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateNetBeansFileStructure.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.*;
 import java.lang.reflect.Field;
@@ -47,9 +47,9 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.filtering.MavenResourcesExecution;
 import org.apache.maven.shared.filtering.MavenResourcesFiltering;
-import org.apache.netbeans.nbm.model.NbmResource;
-import org.apache.netbeans.nbm.model.NetBeansModule;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.model.NbmResource;
+import org.netbeans.nbm.model.NetBeansModule;
+import org.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.taskdefs.Copy;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateStandaloneMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateStandaloneMojo.java
similarity index 98%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateStandaloneMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateStandaloneMojo.java
index c78fdd4..48b78c4 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateStandaloneMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateStandaloneMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  *  under the License.
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import org.apache.maven.plugin.AbstractMojo;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateUpdateSiteMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateUpdateSiteMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateUpdateSiteMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateUpdateSiteMojo.java
index 3fef630..e959457 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateUpdateSiteMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateUpdateSiteMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import java.util.Iterator;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateWebstartAppMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateWebstartAppMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateWebstartAppMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateWebstartAppMojo.java
index fe37b10..0ad1add 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/CreateWebstartAppMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateWebstartAppMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  *  under the License.
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/NetBeansManifestUpdateMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/NetBeansManifestUpdateMojo.java
index 92d3423..548c9c3 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/NetBeansManifestUpdateMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -53,9 +53,9 @@
 import org.apache.maven.shared.dependency.analyzer.asm.ASMDependencyAnalyzer;
 import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
-import org.apache.netbeans.nbm.model.Dependency;
-import org.apache.netbeans.nbm.model.NetBeansModule;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.model.Dependency;
+import org.netbeans.nbm.model.NetBeansModule;
+import org.netbeans.nbm.utils.ExamineManifest;
 import org.apache.tools.ant.taskdefs.Manifest;
 import org.apache.tools.ant.taskdefs.ManifestException;
 import org.codehaus.plexus.util.IOUtil;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunNetBeansMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunNetBeansMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunNetBeansMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunNetBeansMojo.java
index 0e7a142..08036dc 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunNetBeansMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunNetBeansMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import java.io.FileOutputStream;
diff --git a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunPlatformAppMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunPlatformAppMojo.java
similarity index 99%
rename from nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunPlatformAppMojo.java
rename to nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunPlatformAppMojo.java
index 3cf143d..c70b4e4 100644
--- a/nbm-maven-plugin/src/main/java/org/apache/netbeans/nbm/RunPlatformAppMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/RunPlatformAppMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
 import java.io.File;
 import java.util.List;
diff --git a/nbm-maven-plugin/src/main/mdo/descriptor.mdo b/nbm-maven-plugin/src/main/mdo/descriptor.mdo
index ad09568..1931551 100644
--- a/nbm-maven-plugin/src/main/mdo/descriptor.mdo
+++ b/nbm-maven-plugin/src/main/mdo/descriptor.mdo
@@ -22,7 +22,7 @@
     <defaults>
         <default>
             <key>package</key>
-            <value>org.apache.netbeans.nbm.model</value>
+            <value>org.netbeans.nbm.model</value>
         </default>
     </defaults>
     <classes>
diff --git a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/AbstractNbmMojoTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/AbstractNbmMojoTest.java
similarity index 98%
rename from nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/AbstractNbmMojoTest.java
rename to nbm-maven-plugin/src/test/java/org/netbeans/nbm/AbstractNbmMojoTest.java
index c954d69..1459b67 100644
--- a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/AbstractNbmMojoTest.java
+++ b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/AbstractNbmMojoTest.java
@@ -15,8 +15,9 @@
  *  under the License.
  */
 
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
+import org.netbeans.nbm.AbstractNbmMojo;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -32,9 +33,9 @@
 import org.apache.maven.plugin.logging.SystemStreamLog;
 import org.apache.maven.shared.dependency.graph.DependencyNode;
 import org.apache.maven.shared.dependency.graph.internal.DefaultDependencyNode;
-import org.apache.netbeans.nbm.model.Dependency;
-import org.apache.netbeans.nbm.model.NetBeansModule;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.model.Dependency;
+import org.netbeans.nbm.model.NetBeansModule;
+import org.netbeans.nbm.utils.ExamineManifest;
 
 /**
  *
diff --git a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/BrandingMojoTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/BrandingMojoTest.java
similarity index 96%
rename from nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/BrandingMojoTest.java
rename to nbm-maven-plugin/src/test/java/org/netbeans/nbm/BrandingMojoTest.java
index 7a184c5..3268e31 100644
--- a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/BrandingMojoTest.java
+++ b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/BrandingMojoTest.java
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
-import org.apache.netbeans.nbm.BrandingMojo;
+import org.netbeans.nbm.BrandingMojo;
 import java.io.File;
 import org.junit.Test;
 import static org.junit.Assert.*;
diff --git a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateClusterAppMojoTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateClusterAppMojoTest.java
similarity index 95%
rename from nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateClusterAppMojoTest.java
rename to nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateClusterAppMojoTest.java
index 1ae7318..0e95c07 100644
--- a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateClusterAppMojoTest.java
+++ b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateClusterAppMojoTest.java
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
-import org.apache.netbeans.nbm.CreateClusterAppMojo;
+import org.netbeans.nbm.CreateClusterAppMojo;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -26,8 +26,8 @@
 import java.util.Set;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
-import org.apache.netbeans.nbm.utils.ExamineManifest;
-import org.apache.netbeans.nbm.CreateClusterAppMojo.BundleTuple;
+import org.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.CreateClusterAppMojo.BundleTuple;
 import static org.junit.Assert.*;
 import org.junit.Test;
 
diff --git a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateNetBeansFileStructureTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateNetBeansFileStructureTest.java
similarity index 95%
rename from nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateNetBeansFileStructureTest.java
rename to nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateNetBeansFileStructureTest.java
index e74b47d..22d9bd5 100644
--- a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/CreateNetBeansFileStructureTest.java
+++ b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/CreateNetBeansFileStructureTest.java
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
-import org.apache.netbeans.nbm.CreateNetBeansFileStructure;
+import org.netbeans.nbm.CreateNetBeansFileStructure;
 import java.io.File;
 import java.io.PrintWriter;
 import java.io.StringWriter;
diff --git a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojoTest.java b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
similarity index 97%
rename from nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
rename to nbm-maven-plugin/src/test/java/org/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
index 4642e62..ecdeb6c 100644
--- a/nbm-maven-plugin/src/test/java/org/apache/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
+++ b/nbm-maven-plugin/src/test/java/org/netbeans/nbm/NetBeansManifestUpdateMojoTest.java
@@ -15,9 +15,9 @@
  *  under the License.
  */
 
-package org.apache.netbeans.nbm;
+package org.netbeans.nbm;
 
-import org.apache.netbeans.nbm.NetBeansManifestUpdateMojo;
+import org.netbeans.nbm.NetBeansManifestUpdateMojo;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Locale;
diff --git a/nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/AbstractNetbeansMojo.java b/nbm-shared/src/main/java/org/netbeans/nbm/utils/AbstractNetbeansMojo.java
similarity index 98%
rename from nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/AbstractNetbeansMojo.java
rename to nbm-shared/src/main/java/org/netbeans/nbm/utils/AbstractNetbeansMojo.java
index e74810c..db9918f 100644
--- a/nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/AbstractNetbeansMojo.java
+++ b/nbm-shared/src/main/java/org/netbeans/nbm/utils/AbstractNetbeansMojo.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm.utils;
+package org.netbeans.nbm.utils;
 
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.tools.ant.BuildEvent;
diff --git a/nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/ExamineManifest.java b/nbm-shared/src/main/java/org/netbeans/nbm/utils/ExamineManifest.java
similarity index 99%
rename from nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/ExamineManifest.java
rename to nbm-shared/src/main/java/org/netbeans/nbm/utils/ExamineManifest.java
index 5165d0e..f75d5ec 100644
--- a/nbm-shared/src/main/java/org/apache/netbeans/nbm/utils/ExamineManifest.java
+++ b/nbm-shared/src/main/java/org/netbeans/nbm/utils/ExamineManifest.java
@@ -14,7 +14,7 @@
  *  limitations under the License.
  * =========================================================================
  */
-package org.apache.netbeans.nbm.utils;
+package org.netbeans.nbm.utils;
 
 import java.io.File;
 import java.io.FileInputStream;
diff --git a/nbm-shared/src/test/java/org/apache/netbeans/nbm/utils/ExamineManifestTest.java b/nbm-shared/src/test/java/org/netbeans/nbm/utils/ExamineManifestTest.java
similarity index 97%
rename from nbm-shared/src/test/java/org/apache/netbeans/nbm/utils/ExamineManifestTest.java
rename to nbm-shared/src/test/java/org/netbeans/nbm/utils/ExamineManifestTest.java
index fa5e026..be99990 100644
--- a/nbm-shared/src/test/java/org/apache/netbeans/nbm/utils/ExamineManifestTest.java
+++ b/nbm-shared/src/test/java/org/netbeans/nbm/utils/ExamineManifestTest.java
@@ -15,9 +15,9 @@
  * under the License.
  */
 
-package org.apache.netbeans.nbm.utils;
+package org.netbeans.nbm.utils;
 
-import org.apache.netbeans.nbm.utils.ExamineManifest;
+import org.netbeans.nbm.utils.ExamineManifest;
 import java.io.File;
 import java.io.PrintWriter;
 import junit.framework.TestCase;
