• (十一)Powershell调用java实验


    1. 先随便写个java类
    package demo;
    
    public class Test {
    
    	public static void main(String[] args) {
            int ret = 123;
            
            System.out.println(ret);
    		
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.打包
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    直接结束,生成jar包
    3.powershell调用

    
    $p = Start-Process java -ArgumentList '-jar /Users/sixdog/Documents/windows_batch/test.jar'
    
    Write-Host $p.ExitCode
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    4.调查后说是打包姿势不对,再来
    相同部分步骤省略
    在这里插入图片描述

    在这里插入图片描述
    直接finish

    5.再次执行powershell,还是报错了
    在这里插入图片描述
    6.这个原因查明,是因为我的电脑里以前装过好几个jdk,我刚才随便建的项目用的java16,但是配置.bash_profile里配的运行时jdk是java1.8,所以重新建了工程,选定jdk1.8再运行是如下结果

    PS /Users/sixdog/Documents/windows_batch> . '/Users/sixdog/Documents/windows_batch/test.ps1'
    
    PS /Users/sixdog/Documents/windows_batch> 123
    
    • 1
    • 2
    • 3

    可以看到输出结果是java里输出的123
    7.但是虽然输出了,却是输出到控制台,临时变量并没有接到这个返回值,改变写法,终于接到值了

    & java -jar /Users/sixdog/Documents/windows_batch/test.jar | ForEach-Object {
        Write-Host $_
    }
    输出结果:
    PS /Users/sixdog/Documents/windows_batch> . '/Users/sixdog/Documents/windows_batch/test2.ps1'
    123
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    8.现在开始传参以及使用参数

    & java -jar /Users/sixdog/Documents/windows_batch/test.jar 10 20 | ForEach-Object {
        Write-Host $_
    }
    
    • 1
    • 2
    • 3
    
    
    public class Test {
    
    	public static void main(String[] args) {
            int ret = 100;
            ret = ret + Integer.parseInt(args[0]) + Integer.parseInt(args[1]);
            System.out.println(ret);
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    输出结果

    PS /Users/sixdog/Documents/windows_batch> . '/Users/sixdog/Documents/windows_batch/test.ps1'
    130
    PS /Users/sixdog/Documents/windows_batch> 
    
    • 1
    • 2
    • 3
  • 相关阅读:
    CentOS安装MySQL8.0
    物联网应用技术专业是属于什么类
    企业密码安全:ADSelfService Plus 提升密码管理的千里之行
    小迈科技可能的面试问题
    一文带你了解web前端是如何制作表白网站(HTML+CSS+JS)
    tensorflow基础
    中职 网络搭建与应用 DCN无线常用配置
    基于目标检测模型实现遥感图像检测
    【C语言】刷题笔记 Day1
    IDC:未来中国MES市场仍将快速发展分化
  • 原文地址:https://blog.csdn.net/charles542307299/article/details/133839979