summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceGridGUI/Fallback.java22
-rw-r--r--java/src/IceGridGUI/MainProxy.java54
2 files changed, 29 insertions, 47 deletions
diff --git a/java/src/IceGridGUI/Fallback.java b/java/src/IceGridGUI/Fallback.java
index 31293f94386..d1d93ff35b3 100644
--- a/java/src/IceGridGUI/Fallback.java
+++ b/java/src/IceGridGUI/Fallback.java
@@ -22,31 +22,17 @@ public class Fallback extends javax.swing.JApplet
java.util.List<String> command = new java.util.ArrayList<String>();
command.add("java");
+ command.add("-cp");
+ command.add(jar.getPath());
command.add("IceGridGUI.Main");
+
String[] args = MainProxy.args();
for(String arg : args)
{
command.add(arg);
}
- ProcessBuilder pb = new ProcessBuilder(command);
-
- java.util.Map<String, String> env = pb.environment();
- String classPath = env.get("CLASSPATH");
- classPath = classPath == null ? "" : classPath;
-
- if(classPath.indexOf("IceGridGUI.jar") == -1)
- {
- if(classPath == "")
- {
- classPath = jar.getPath();
- }
- else
- {
- classPath = System.getProperty("path.separator") + jar.getPath();
- }
- env.put("CLASSPATH", classPath);
- }
+ ProcessBuilder pb = new ProcessBuilder(command);
final Process p = pb.start();
if(p != null)
diff --git a/java/src/IceGridGUI/MainProxy.java b/java/src/IceGridGUI/MainProxy.java
index e7c24fb2eb6..dd681dcb9ba 100644
--- a/java/src/IceGridGUI/MainProxy.java
+++ b/java/src/IceGridGUI/MainProxy.java
@@ -22,37 +22,33 @@ public class MainProxy
String version = System.getProperty("java.version");
- Class<?> cls = null;
- if(version.startsWith("1.7"))
+ Class<?> cls = IceInternal.Util.findClass("com.javafx.main.Main", null);
+ if(cls != null)
{
- cls = IceInternal.Util.findClass("com.javafx.main.Main", null);
- if(cls != null)
+ try
+ {
+ java.lang.reflect.Method main = cls.getMethod("main", new Class[]{String[].class});
+ main.invoke(null, new Object[]{args});
+ return;
+ }
+ catch(NoSuchMethodException ex)
+ {
+ ex.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ "Unable to find method `main(String[] args)' in class `com.javafx.main.Main'",
+ "IceGrid Admin Error",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ catch(IllegalAccessException ex)
+ {
+ ex.printStackTrace();
+ JOptionPane.showMessageDialog(null,
+ "IllegalAccessException invoking method `main(String[] args)' in class `com.javafx.main.Main'",
+ "IceGrid Admin Error",
+ JOptionPane.ERROR_MESSAGE);
+ }
+ catch(java.lang.reflect.InvocationTargetException ex)
{
- try
- {
- java.lang.reflect.Method main = cls.getMethod("main", new Class[]{String[].class});
- main.invoke(null, new Object[]{args});
- return;
- }
- catch(NoSuchMethodException ex)
- {
- ex.printStackTrace();
- JOptionPane.showMessageDialog(null,
- "Unable to find method `main(String[] args)' in class `com.javafx.main.Main'",
- "IceGrid Admin Error",
- JOptionPane.ERROR_MESSAGE);
- }
- catch(IllegalAccessException ex)
- {
- ex.printStackTrace();
- JOptionPane.showMessageDialog(null,
- "IllegalAccessException invoking method `main(String[] args)' in class `com.javafx.main.Main'",
- "IceGrid Admin Error",
- JOptionPane.ERROR_MESSAGE);
- }
- catch(java.lang.reflect.InvocationTargetException ex)
- {
- }
}
}
cls = IceInternal.Util.findClass("IceGridGUI.Main", null);