Windows环境下配置Java,Go调用Java

1,第一步,当然是去下载jdk安装包了,打Oracle Java Downloads,下载对应的安装包。

Windows环境下配置Java,Go调用Java


下载之前,你还要登录,一系列操作后,下载安装包后,直接安装。

2,接下来是配置环境配置,

先设置JAVA_HOME,

Windows环境下配置Java,Go调用Java

再到Path变量设置java bin和jre目录。

Windows环境下配置Java,Go调用Java

保存。

3,验证

"win+r" =>输入cmd=>java -version,能看到正确的输出信息,成功

Windows环境下配置Java,Go调用Java

-------------------------------------------------------------

最近也在学习Go,因为很多现成的功能都是java写的,如何使用go调用java,毫无疑问会提高可用性。接下来使用一个例子展示下如何调用。

4,java部分,一个密文验证demo。代码如下

public class Hello {
    public static void main(String[] args) {

        String txt = "Hello Go";
        System.out.println(txt);
    }
}

5,打包单个java 文件到jar(复习一下课本里的知识)

5.1 Verify.java 这个是命名的文件,将java文件编译成class文件,文件目录如下。

Windows环境下配置Java,Go调用Java

MANIFEST.MF文件内容如下(注意,Main-Class下要换行):

Manifest-Version: 1.0
Class-Path: lib/bcprov-jdk15on-1.64.jar
Main-Class: Verify

5.2 文件准备好后,开始编译class文件,命令如下

javac -encoding utf-8 Hello.java,

Windows环境下配置Java,Go调用Java

5.3 用生成的class文件打包jar,命令如下

jar cvfm Hello.jar MANIFEST.MF *.class

Windows环境下配置Java,Go调用Java

至此,jar打包好了。运行一下,结果如下

java -jar Hello.jar

Windows环境下配置Java,Go调用Java

5.4 如何使用go调用。很简单,参照官方文档,简单写了个demo,文件名callJava.go。如下

package main

import (
    "bufio"
    "fmt"
    "io"
    "os"
    "os/exec"
    "time"
)

func main() {
    now := time.Now()
    cmd := exec.Command("java", "-jar", "Hello.jar")

    stdout, err := cmd.StdoutPipe()
    if err != nil {
        fmt.Println("cmd.StdoutPipe: ", err)
    }
    cmd.Stderr = os.Stderr
    err = cmd.Start()
    if err != nil {
    }
    //创建一个流来读取管道内内容,这里逻辑是通过一行一行的读取的
    reader := bufio.NewReader(stdout)
    //实时循环读取输出流中的一行内容
    for {
        line, err2 := reader.ReadString('\n')
        if err2 != nil || io.EOF == err2 {
            break
        }
        fmt.Println(line)
    }
    err = cmd.Wait()
    fmt.Println(time.Now().Sub(now))
}

执行命令 go run callJava.go,如下

Windows环境下配置Java,Go调用Java

上一篇:AIX系统errpt详解


下一篇:一般程序的执行上下文栈之入栈出栈