英文:
how to trigger java aplication (java -jar <app_name> from Google GO / golang sub_process
问题
我正在尝试从Golang作为子进程触发Java命令行应用程序。但是由于某种原因,它失败了,当我从GO启动它时,我实际上没有得到Java应用程序界面。它等待几秒钟后以错误代码"无法连接..."终止。
这是我尝试使用的代码:
package main
import (
"fmt"
"os/exec"
)
func main() {
start_java_app_test()
}
func start_java_app_test() {
cmd_prep := "java -Xmx2g -jar test_app.jar"
cmd_output, err := exec.Command("bash", "-c", cmd_prep).Output()
if err != nil {
fmt.Println(err)
}
fmt.Println(cmd_output)
}
如果我们尝试只使用 cmd_prep := "java -version"
,它会再次失败。它应该给我输出如下:
<< snip >>
$ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
<< /snip >>
正常的语法,比如 cmd_prep := "ls -l"
,工作正常。有什么线索吗?可能是什么原因呢?提前感谢您的帮助。
英文:
I'm trying to trigger java command line application as a sub process from golang.
For some reason it failed and actually I do not get java APP interface when I start it from GO. It wait for few sec and terminate with error code "can not connect ... "
Here is a code I tried to use:
package main
import (
"fmt"
"os/exec"
)
func main() {
start_java_app_test()
}
func start_java_app_test() {
cmd_prep := "java -Xmx2g -jar test_app.jar"
cmd_output, err := exec.Command("bash", "-c", cmd_prep).Output()
if err != nil {
fmt.Println(err)
}
fmt.Println(vba_ssh_cmd_output)
}
If we try just to use --> cmd_prep := "java -version"
<--
it will fail again.
It should give me output like
<< snip >>
$ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
<< /snip >>
The normal syntax like --> cmd_prep := "ls -l"
<-- works fine.
Any clue ?
What might be the reason here ?
Thanks in advance,
.C
答案1
得分: 0
它与'CombinedOutput'非常好用
$ go run TestCombinedOutput.go
java版本 "1.8.0_65"
Java(TM) SE Runtime Environment (版本 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (版本 25.65-b01, 混合模式)
非常感谢。
祝好,
.C
英文:
It works very well with 'CombinedOutput'
$ go run TestCombinedOutput.go
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
Thanks a lot.
Cheers,
.C
专注分享java语言的经验与见解,让所有开发者获益!
评论