2016-06-13 5 views
0

У меня есть файл JNLP, как правило, я буду исполнять с помощью консоли (Linux) и отлично работает.Как запустить файл jnlp с Java?

javaws launch.jnlp 

Но теперь я должен работать с Java-кода, я попытался это ...

Process p = Runtime.getRuntime().exec(new String[]{"path/to/.jnlp"}); 
p.waitFor(); 

Не работает, так как он должен работать.

+0

'' javaws launch.jnlp также то, что вам должен выполнить exec (с вероятным путём) – zapl

+0

извините, но я не понимаю. – ELM

+0

Я думаю, что он говорит Process p = Runtime.getRuntime(). Exec (new String [] {"javaws path/to/.jnlp"}); – Duston

ответ

0

Это мое решение:

Process exec = Runtime.getRuntime().exec("javaws /var/www/Projects/jnlp/jnlp1/launch.jnlp"); 
exec.waitFor(); 

В Linux:

  1. дают разрешения на выполнение файла .jnlp.
  2. Добавить javaws в пути функции:

    Runtime.getRuntime().exec("javaws Path/to/jnlp"); 
    
+0

См. Также [Когда Runtime.exec() не будет] (http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html) для много хороших советов по правильному созданию и обработке процесса. Затем проигнорируйте это, ссылаясь на 'exec' и используйте' ProcessBuilder' для создания процесса. Также обязательно используйте аргумент 'String [] args' (array) аргументов над' String arg' для учета таких вещей, как пути с пробелами в них. –

+0

Я не вижу причин для выполнения разрешений на jnlp здесь –

1

Это the.jnlp в user.home это так просто, как:

File f = new File(System.getProperty("user.home")); 
f = new File(f, "the.jnlp"); 
Desktop.getDesktop().open(f); // Launches the associated application to open the file.