Setting of system property  java.io.tmpdir having no effect on VertxTemplate in native mode
**Describe the bug**
Setting of system property `java.io.tmpdir` in native mode has no effect for vert.x quickstart. This is part of the discussion [here](https://quarkusio.zulipchat.com/#narrow/stream/187030-users/topic/Native.20builds.3A.20JVM.20options.20at.20runtime/near/168516155). 

**Expected behavior**
Setting the `java.io.tmpdir` system property should work correctly since the `VertxTemplate` is a RuntTime init template

**Actual behavior**
The system property is ignored


**To Reproduce**
Steps to reproduce the behavior:
1. Use the vertx quickstart :https://github.com/quarkusio/quarkus-quickstarts/tree/master/using-vertx
2. Create a native binary
3. Attempt to set the system property by doing something like: `target/using-vertx-1.0-SNAPSHOT-runner -Djava.io.tmpdir=/dummy`. This should fail normally since the directory does not exist (and it of course does fail when running `java -Djava.io.tmpdir=/dummy -jar target/using-vertx-1.0-SNAPSHOT-runner.jar`).



diff --git a/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxTemplate.java b/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxTemplate.java
index e75c5bdfd48..2fc0474df37 100644
--- a/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxTemplate.java
+++ b/extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxTemplate.java
@@ -1,5 +1,8 @@
 package io.quarkus.vertx.runtime;
 
+import static io.vertx.core.file.impl.FileResolver.CACHE_DIR_BASE_PROP_NAME;
+
+import java.io.File;
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.List;
@@ -76,9 +79,7 @@ void initialize(VertxConfiguration conf) {
             System.setProperty("vertx.disableDnsResolver", "true");
         }
 
-        System.setProperty("vertx.cacheDirBase", System.getProperty("java.io.tmpdir"));
-
-        if (options.isClustered()) {
+        if (options.getEventBusOptions().isClustered()) {
             AtomicReference<Throwable> failure = new AtomicReference<>();
             CountDownLatch latch = new CountDownLatch(1);
             Vertx.clusteredVertx(options, ar -> {
@@ -111,8 +112,12 @@ private VertxOptions convertToVertxOptions(VertxConfiguration conf) {
         setEventBusOptions(conf, options);
         initializeClusterOptions(conf, options);
 
+        String fileCacheDir = System.getProperty(CACHE_DIR_BASE_PROP_NAME,
+                System.getProperty("java.io.tmpdir", ".") + File.separator + "vertx-cache");
+
         options.setFileSystemOptions(new FileSystemOptions()
                 .setFileCachingEnabled(conf.caching)
+                .setFileCacheDir(fileCacheDir)
                 .setClassPathResolvingEnabled(conf.classpathResolving));
         options.setWorkerPoolSize(conf.workerPoolSize);
         options.setBlockedThreadCheckInterval(conf.warningExceptionTime.toMillis());
['extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxTemplate.java']