• (十一)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
  • 相关阅读:
    React 全栈体系(六)
    ArduPilot开源飞控之Copter任务
    【附源码】Python计算机毕业设计入学新生信息管理系统1
    ZZ308 物联网应用与服务赛题第B套
    安卓讲课笔记5.4 单选按钮和复选框
    面试 4
    【附源码】计算机毕业设计SSM网上超市系统
    java: 无效的源发行版: 11解决方法
    Anaconda安装及入门教程(Windows、Ubuntu)
    Window环境下安装VMware虚拟机来安装 CentOs7
  • 原文地址:https://blog.csdn.net/charles542307299/article/details/133839979