diff --git a/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java b/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
index 04af510..0e84976 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
@@ -96,4 +96,8 @@
         }
         return options;
     }
+
+    protected File getStandaloneOutputDirectory() {
+        return new File(this.getTmpDir(), "standalone");
+    }
 }
diff --git a/src/main/java/org/apache/sling/maven/slingstart/PackageMojo.java b/src/main/java/org/apache/sling/maven/slingstart/PackageMojo.java
index 0699561..8e19ecd 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/PackageMojo.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/PackageMojo.java
@@ -68,7 +68,7 @@
         @SuppressWarnings("unchecked")
         final Map<String, File> contentsMap = (Map<String, File>) this.project.getContextValue(BuildConstants.CONTEXT_STANDALONE);
 
-        final File buildOutputDirectory = new File(this.project.getBuild().getOutputDirectory());
+        final File buildOutputDirectory = this.getStandaloneOutputDirectory();
         final File manifestFile = new File(buildOutputDirectory, "META-INF/MANIFEST.MF");
         FileInputStream fis = null;
         try {
diff --git a/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java b/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java
index fb4ad2f..d9197d1 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java
@@ -85,7 +85,7 @@
     private static final String CONFIG_DIRECTORY = "config";
 
     private static final String PROVISIONING_DIRECTORY = "provisioning";
-    
+
     private static final String EMBEDDED_MODEL_FILENAME = "model.txt";
 
     private static final String BOOTSTRAP_FILE = "sling_bootstrap.txt";
@@ -121,10 +121,6 @@
         this.prepareWebapp(model);
     }
 
-    protected File getStandaloneOutputDirectory() {
-        return new File(this.project.getBuild().getOutputDirectory());
-    }
-
     /**
      * Prepare the global map for the artifacts.
      */
@@ -151,7 +147,7 @@
 
         this.buildContentsMap(model, ModelConstants.RUN_MODE_STANDALONE, contentsMap);
     }
-    
+
     /** Embed our model in the created jar file */
     private void embedModel(Model model, File outputDir) throws MojoExecutionException {
         final File modelDir = new File(new File(outputDir, BASE_DESTINATION), PROVISIONING_DIRECTORY);
