diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/StartArgs.java b/jetty-start/src/main/java/org/eclipse/jetty/start/StartArgs.java
index f810a80c7ea..07415353afa 100644
--- a/jetty-start/src/main/java/org/eclipse/jetty/start/StartArgs.java
+++ b/jetty-start/src/main/java/org/eclipse/jetty/start/StartArgs.java
@@ -18,15 +18,14 @@
package org.eclipse.jetty.start;
-import static org.eclipse.jetty.start.UsageException.*;
-
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -43,6 +42,8 @@ import org.eclipse.jetty.start.config.ConfigSource;
import org.eclipse.jetty.start.config.ConfigSources;
import org.eclipse.jetty.start.config.DirConfigSource;
+import static org.eclipse.jetty.start.UsageException.ERR_BAD_ARG;
+
/**
* The Arguments required to start Jetty.
*/
@@ -88,7 +89,7 @@ public class StartArgs
}
}
}
-
+
// Default values
if (ver == null)
{
@@ -408,7 +409,7 @@ public class StartArgs
/**
* Ensure that the System Properties are set (if defined as a System property, or start.config property, or
* start.ini property)
- *
+ *
* @param key
* the key to be sure of
*/
@@ -434,7 +435,7 @@ public class StartArgs
/**
* Expand any command line added --lib
lib references.
- *
+ *
* @param baseHome
* the base home in use
* @throws IOException
@@ -461,7 +462,7 @@ public class StartArgs
/**
* Build up the Classpath and XML file references based on enabled Module list.
- *
+ *
* @param baseHome
* the base home in use
* @param activeModules
@@ -581,20 +582,20 @@ public class StartArgs
ensureSystemPropertySet("STOP.WAIT");
// pass properties as args or as a file
- if (dryRun || isExec())
+ if (dryRun)
{
for (Prop p : properties)
cmd.addRawArg(CommandLineBuilder.quote(p.key) + "=" + CommandLineBuilder.quote(p.value));
}
else if (properties.size() > 0)
{
- File prop_file = File.createTempFile("start",".properties");
- prop_file.deleteOnExit();
- try (FileOutputStream out = new FileOutputStream(prop_file))
+ Path prop_path = Files.createTempFile(Paths.get(baseHome.getBase()), "start_", ".properties");
+ prop_path.toFile().deleteOnExit();
+ try (OutputStream out = Files.newOutputStream(prop_path))
{
properties.store(out,"start.jar properties");
}
- cmd.addRawArg(prop_file.getAbsolutePath());
+ cmd.addRawArg(prop_path.toAbsolutePath().toString());
}
for (Path xml : xmls)
@@ -665,7 +666,7 @@ public class StartArgs
{
return properties;
}
-
+
public Set getSkipFileValidationModules()
{
return skipFileValidationModules;
@@ -791,7 +792,7 @@ public class StartArgs
/**
* Parse a single line of argument.
- *
+ *
* @param rawarg
* the raw argument to parse
* @param source
@@ -1125,7 +1126,7 @@ public class StartArgs
{
this.allModules = allModules;
}
-
+
public void setProperty(String key, String value, String source, boolean replaceProp)
{
// Special / Prevent override from start.ini's
@@ -1141,14 +1142,14 @@ public class StartArgs
properties.setProperty("jetty.base",System.getProperty("jetty.base"),source);
return;
}
-
+
if (replaceProp || (!properties.containsKey(key)))
{
properties.setProperty(key,value,source);
if(key.equals("java.version"))
{
Version ver = new Version(value);
-
+
properties.setProperty("java.version",ver.toShortString(),source);
properties.setProperty("java.version.major",Integer.toString(ver.getLegacyMajor()),source);
properties.setProperty("java.version.minor",Integer.toString(ver.getMajor()),source);