diff --git a/ec2jdk10 b/ec2jdk10
index f6bbc1e..aa464eb 100644
--- a/ec2jdk10
+++ b/ec2jdk10
@@ -4,4 +4,4 @@
 source "$(dirname $(readlink -f $0))/ec2jdk7"
 
 # for the standalone tomee
-export MAVEN_OPTS="-Dtck.java.home=$HOME/jdk10 -Dtck.java.version=10.0 $MAVEN_OPTS"
+export MAVEN_OPTS="-Dcontainer.java.home=$HOME/jdk10 -Dcontainer.java.version=10.0 $MAVEN_OPTS"
diff --git a/ec2jdk11 b/ec2jdk11
index bcece60..f2a6f2e 100644
--- a/ec2jdk11
+++ b/ec2jdk11
@@ -4,4 +4,4 @@
 source "$(dirname $(readlink -f $0))/ec2jdk8"
 
 # for the standalone tomee
-export MAVEN_OPTS="-Dtck.java.home=$HOME/jdk11 -Dtck.java.version=11.0 $MAVEN_OPTS"
+export MAVEN_OPTS="-Dcontainer.java.home=$HOME/jdk11 -Dcontainer.java.version=11.0 $MAVEN_OPTS"
diff --git a/ec2jdk9 b/ec2jdk9
index a8437b3..ce3fee1 100644
--- a/ec2jdk9
+++ b/ec2jdk9
@@ -4,4 +4,4 @@
 source "$(dirname $(readlink -f $0))/ec2jdk7"
 
 # for the standalone tomee
-export MAVEN_OPTS="-Dtck.java.home=$HOME/jdk9 -Dtck.java.version=1.9 $MAVEN_OPTS"
+export MAVEN_OPTS="-Dcontainer.java.home=$HOME/jdk9 -Dcontainer.java.version=1.9 $MAVEN_OPTS"
diff --git a/java11.source b/java11.source
index 3caba86..7f607ee 100644
--- a/java11.source
+++ b/java11.source
@@ -11,7 +11,7 @@
 tomee_version=8.0.0-SNAPSHOT
 
 # we run tck with java 7 for the runner (javatest jvm) but java 9 for the server
-export MAVEN_OPTS="-Dtck.java.home=$JAVA_11_HOME -Dtck.java.version=11 -Dopenejb.groupId=org.apache.tomee -Dopenejb.version=$tomee_version -Dtomee.version=$tomee_version"
+export MAVEN_OPTS="-Dcontainer.java.home=$JAVA_11_HOME -Dcontainer.java.version=11 -Dopenejb.groupId=org.apache.tomee -Dopenejb.version=$tomee_version -Dtomee.version=$tomee_version"
 echo "MAVEN_OPTS set for java 11"
 
 function tomeeTckCheckJavaRunVersion() {
diff --git a/java9.source b/java9.source
index 86cc7b9..3bb5704 100644
--- a/java9.source
+++ b/java9.source
@@ -11,7 +11,7 @@
 tomee_version=7.0.4-SNAPSHOT
 
 # we run tck with java 7 for the runner (javatest jvm) but java 9 for the server
-export MAVEN_OPTS="-Dtck.java.home=$JAVA9_HOME -Dtck.java.version=1.9 -Dopenejb.groupId=org.apache.tomee -Dopenejb.version=$tomee_version -Dtomee.version=$tomee_version"
+export MAVEN_OPTS="-Dcontainer.java.home=$JAVA9_HOME -Dcontainer.java.version=1.9 -Dopenejb.groupId=org.apache.tomee -Dopenejb.version=$tomee_version -Dtomee.version=$tomee_version"
 echo "MAVEN_OPTS set for java 9"
 
 function tomeeTckCheckJavaRunVersion() {
diff --git a/src/main/java/org/apache/openejb/cts/DeploymentImpl.java b/src/main/java/org/apache/openejb/cts/DeploymentImpl.java
index 5cef355..3a572b3 100644
--- a/src/main/java/org/apache/openejb/cts/DeploymentImpl.java
+++ b/src/main/java/org/apache/openejb/cts/DeploymentImpl.java
@@ -26,6 +26,7 @@
 import com.sun.ts.lib.porting.TSDeploymentException;
 import com.sun.ts.lib.porting.TSDeploymentInterface2;
 import org.apache.openejb.config.RemoteServer;
+import org.apache.openejb.testng.PropertiesBuilder;
 
 import javax.enterprise.deploy.spi.DeploymentManager;
 import javax.enterprise.deploy.spi.Target;
@@ -54,13 +55,24 @@
     private static final String CLIENT_MAIN = "org.apache.openejb.client.Main";
 
     static {
-//        System.setProperty("java.opts", "-Xmx128m -XX:MaxPermSize=128m");
-//        System.setProperty("java.opts", "-XX:MaxPermSize=64m");
-//        System.setProperty("openejb.server.profile", "true");
-        System.setProperty("java.opts", "-Dopenejb.deployer.jndiname=openejb/DeployerBusinessRemote");
-        final RemoteServer remoteServer = new RemoteServer(250, true);
-        // remoteServer.start(Arrays.asList("-Xmx128m", "-XX:MaxPermSize=128m"), "start", true);
-        // remoteServer.start(Arrays.asList("-Djava.util.logging.config.file=/logging.properties"), "start", true);
+
+        Properties overrides = new Properties();
+        String containerJavaHome = System.getProperty("container.java.home");
+        String containerJavaVersion = System.getProperty("container.java.version");
+        String containerJavaOpts = System.getProperty("container.java.opts", "-Dopenejb.deployer.jndiname=openejb/DeployerBusinessRemote");
+        if (containerJavaVersion != null) {
+            overrides.put("java.version", containerJavaVersion);
+        }
+
+        if (containerJavaHome != null) {
+            overrides.put("java.home", containerJavaHome);
+        }
+
+        if (containerJavaOpts != null) {
+            overrides.put("java.opts", containerJavaOpts);
+        }
+
+        final RemoteServer remoteServer = new RemoteServer(overrides, 250, true);
         remoteServer.start();
 
         Runtime.getRuntime().addShutdownHook(new Thread() {
diff --git a/src/test/script/openejb/tck/commands/JavaTestCommand.groovy b/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
index 098d353..5a5907a 100644
--- a/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
+++ b/src/test/script/openejb/tck/commands/JavaTestCommand.groovy
@@ -202,23 +202,52 @@
 
                 def tckJavaHome = get('tck.java.home')
                 if (tckJavaHome != null) {
-                    log.info("Using java home ${tckJavaHome}")
+                    log.info("Using java home (javatest) ${tckJavaHome}")
                     jvmarg(value: "-Dtck.java.home=${tckJavaHome}")
                 }
 
                 def tckJavaVersion = get('tck.java.version')
                 if (tckJavaVersion != null) {
-                    log.info("Using java version ${tckJavaVersion}")
+                    log.info("Using java version (javatest) ${tckJavaVersion}")
                     jvmarg(value: "-Dtck.java.version=${tckJavaVersion}")
                 }
 
-                def opts = get('tck.java.opts')
-                if (tckJavaVersion != null && (tckJavaVersion.startsWith("9") || tckJavaVersion.startsWith("1.9") || tckJavaVersion.startsWith("10")  || tckJavaVersion.startsWith("11") )) {
-                    jvmarg(value: "-Dtck.java.opts=" +
-                            "-Dopenejb.deployer.jndiname=openejb/WebappDeployerRemote " +
+                def tckJavaOpts = get('tck.java.opts')
+                if (tckJavaOpts != null) {
+                    log.info("Using java home (javatest) ${tckJavaOpts}")
+                    jvmarg(value: "-Dtck.java.opts=${tckJavaOpts}")
+                }
+
+                def containerJavaHome = get('container.java.home')
+                if (containerJavaHome != null) {
+                    log.info("Using java home (container) ${containerJavaHome}")
+                    jvmarg(value: "-Dcontainer.java.home=${containerJavaHome}")
+                }
+
+                def containerJavaVersion = get('container.java.version')
+                if (containerJavaVersion != null) {
+                    log.info("Using java version (container) ${containerJavaVersion}")
+                    jvmarg(value: "-Dcontainer.java.version=${containerJavaVersion}")
+                }
+
+                def containerJavaOpts = get('container.java.opts')
+                if (containerJavaOpts != null) {
+                    log.info("Using java opts (container) ${containerJavaOpts}")
+                    jvmarg(value: "-Dcontainer.java.opts=${containerJavaOpts}")
+                }
+
+                if (containerJavaOpts != null &&
+                        (containerJavaOpts.startsWith("9") || containerJavaOpts.startsWith("1.9")
+                                || containerJavaOpts.startsWith("10")  || containerJavaOpts.startsWith("11") )) {
+
+                    def modulesOptions = "-Dcontainer.java.opts=" +
+                            "-Dopenejb.deployer.jndiname=openejb/DeployerBusinessRemote " +
                             "--add-opens java.base/java.net=ALL-UNNAMED " +
                             "--add-opens java.base/java.lang=ALL-UNNAMED " +
-                            "--add-modules java.xml.bind,java.corba")
+                            "--add-modules java.xml.bind,java.corba"
+
+                    log.info("Java modules detected - overridding java options for container with ${modulesOptions}.")
+                    jvmarg(value: modulesOptions)
                 }
 
                 sysproperty(key: "user.language", value: 'en')
@@ -327,8 +356,10 @@
                 // HACK: Some pre-running feedback (have to include this in the java closure)
                 //
                 log.info("Running tests...")
-                log.info("> Container Java Version: ${tckJavaVersion}")
-                log.info("> Container Java Home: ${tckJavaHome}")
+                log.info("> JavaTest Java Version: ${tckJavaVersion}")
+                log.info("> JavaTest Java Home: ${tckJavaHome}")
+                log.info("> Container Java Version: ${containerJavaVersion}")
+                log.info("> Container Java Home: ${containerJavaHome}")
 
                 line()
             }
