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

简介: 有时候,新机器或者电脑出问题了需要重装环境,总是要网上找Java的环境配置,这次我自己也整理一个吧!

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

image.png


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

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

先设置JAVA_HOME,

image.png

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

image.png

保存。

3,验证

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

image.png

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

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

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

publicclassHello {
publicstaticvoidmain(String[] args) {
Stringtxt="Hello Go";
System.out.println(txt);
    }
}

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

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

image.png

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

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

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

javac -encoding utf-8 Hello.java,

image.png

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

jar cvfm Hello.jar MANIFEST.MF *.class

image.png

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

java -jar Hello.jar

image.png

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

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

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

image.png

目录
相关文章
消息中间件 缓存 监控
21 0
|
24天前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
24天前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
21天前
|
jenkins Java Shell
jenkins学习笔记之十三:配置SonarScanner扫描Java项目
jenkins学习笔记之十三:配置SonarScanner扫描Java项目
|
21天前
|
存储 运维 Java
函数计算产品使用问题之怎么配置定时触发器来调用Java函数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
24天前
|
JavaScript 程序员 Go
Windows下如何玩转火热的go-zero
Windows下如何玩转火热的go-zero
|
Java Windows
Windows 10配置JAVA 环境变量
Windows 10配置JAVA 环境变量的具体步骤
1877 0
Windows 10配置JAVA 环境变量
|
Java Windows
Windows 10 配置Java 环境变量
Windows 10 配置Java 环境变量
132 0