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

目录
相关文章
|
3月前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
47 1
|
3月前
|
Java Linux Windows
windows版java版本管理器
本文介绍了如何在Windows上使用JDK版本管理器jvms来管理多个Java版本,包括下载、初始化、列出本地安装的JDK版本、在线查看可用版本、切换和安装特定版本的Java。
131 0
windows版java版本管理器
|
4月前
|
关系型数据库 MySQL Go
go抽取mysql配置到yaml配置文件
go抽取mysql配置到yaml配置文件
|
4月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
54 5
|
4月前
|
Java Linux Python
Linux环境下 代码java调用python出错
Linux环境下 代码java调用python出错
71 4
|
4月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
3月前
|
Java 大数据 开发工具
java学习——环境准备(1)
java学习——环境准备(1)
44 0
|
3月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
5月前
|
安全 Java Go
Java&Go泛型对比
总的来说,Java和Go在泛型的实现和使用上各有特点,Java的泛型更注重于类型安全和兼容性,而Go的泛型在保持类型安全的同时,提供了更灵活的类型参数和类型集的概念,同时避免了运行时的性能开销。开发者在使用时可以根据自己的需求和语言特性来选择使用哪种语言的泛型特性。
60 7
|
5月前
|
Unix 编译器 Go