关于Runtime.getRuntime().exec 传值问题
今天使用 java Runtime.getRuntime.exec遇到一个问题 在此记录
使用场景:
在一个spring-boot 项目中 调用一个第三方提供的加解密jar包时,第三方提供的jar包依赖包版本和当前项目中的jar包冲突,而且两个包都不能舍弃,都要用,这时就打算采用java进程调用的方法,新建一个工程然后加解密方法扔进去,然后打成可执行jar包,让spring-boot项目调用。
遇到问题:
向可执行jar包中传值,由于参数中有空格,然后jar包一直报错,网上也找了很多方法,感觉都不能解决。
解决方法:
采用java 自带的base64加密,先将参数进行base64加密,用base64密文进行传递,然后在可执行jar包中用base64解密,在进行加解密的业务操作,完美解决参数中带有空格,特殊字符等问题。