aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sonar-application/src/main/java/org/sonar/application/StartServer.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/sonar-application/src/main/java/org/sonar/application/StartServer.java b/sonar-application/src/main/java/org/sonar/application/StartServer.java
index 1af81c86d0e..eef404e5bac 100644
--- a/sonar-application/src/main/java/org/sonar/application/StartServer.java
+++ b/sonar-application/src/main/java/org/sonar/application/StartServer.java
@@ -24,6 +24,8 @@ import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Properties;
+import org.apache.commons.io.FileUtils;
+
public final class StartServer {
private static final String DEFAULT_WEB_HOST = "0.0.0.0";
private static final int DEFAULT_WEB_PORT = 9000;
@@ -34,6 +36,7 @@ public final class StartServer {
}
public static void main(String[] args) throws Exception {
+ canCreateTemporaryFiles();
configureHome();
Properties configuration = getConfiguration();
@@ -48,6 +51,17 @@ public final class StartServer {
Thread.currentThread().join();
}
+ static void canCreateTemporaryFiles() {
+ File file = null;
+ try {
+ file = File.createTempFile("sonar-check", "tmp");
+ } catch (IOException e) {
+ throw new IllegalStateException("Unable to create file in temporary directory, please check existence of it and permissions: " + FileUtils.getTempDirectoryPath(), e);
+ } finally {
+ FileUtils.deleteQuietly(file);
+ }
+ }
+
private static void configureRequestLogs(JettyEmbedder jetty, Properties configuration) {
String filenamePattern = configuration.getProperty("sonar.web.jettyRequestLogs");
if (filenamePattern != null) {