|
|
|
Проблеммы с запуском одного java-приложения из другого.
|
|||
|---|---|---|---|
|
#18+
Надо запустить из Java некое стороннее Java приложение (в примере оно называется execute.jar). Написал коротенький тестик и не пойму почему такое поведение: Вот такой код работает: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. А когда я меняю ProcessBuilder pb = new ProcessBuilder("java", "-version"); На вызов стороннего приложения ProcessBuilder pb = new ProcessBuilder("java", "-jar", "execute.jar", "param1", "param2"); Все виснет на строчке executeStatus = p.waitFor(); Зато если вот так перепишу, работает. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Мне непонятно, почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2014, 10:41 |
|
||
|
Проблеммы с запуском одного java-приложения из другого.
|
|||
|---|---|---|---|
|
#18+
Подробное и доходчивое объяснение вот в этой статье. http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html Но если вы используете Java 7 или 8, то там есть redirect методы, которе помогут реализовать тоже самое, но на много проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2014, 10:03 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=178&tid=2127308]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 349ms |

| 0 / 0 |
