2015-04-10 2 views
1

Я пытаюсь запустить Java-процесс с помощью Go, но я не могу заставить Java распознавать путь к классам. Код выглядит как:Запуск Java-процесса в Go

args := []string{ 
    "-Xmx64m", 
    "-Dmy.property=value, 
    "-cp", 
    "lib/jar1.jar:lib/jar2.jar", 
    "com.things.MyClass", 
} 
c := exec.Command(javaBinary, args...) 

К сожалению, при выполнении этого я получаю страшился Error: Could not find or load main class из виртуальной машины Java. Однако, если я беру вывод из c.Args и запускаю его непосредственно в терминале, он, кажется, работает очень хорошо, что для меня означает, что я каким-то образом запускаю процесс неправильно.

Есть ли лучший способ сделать это?

ответ

1

Игнорирования этот вопрос, пожалуйста, ошибка дополнительное пространство в массиве ARGS:

args := []string{ 
    "-Xmx64m", 
    "-Dmy.property=value ", //<--trailing space 
    ... 
} 

Дополнительное пространство прекращает дальнейшее разборе от продолжения приводит к отсутствующим классам.

Смежные вопросы