stm32cube java_Stm32cubemx_v6-1-1 提示需要JDK8版本,但已经安装JDK11 exe4j

分析

这是个exe4j打包的程序,所以可以直接通过 java -jar 执行

也可以用压缩软件打开(如7zip Bandizip)

d8a868cba357cb3e2a47452f6114176d.png

解决方案

定位到exe安装包所在目录

cd /d D:\0Download\en.stm32cubemx_v6-1-1

执行安装程序

java -jar SetupSTM32CubeMX-6.1.1.exe

打开已经安装的 STM32CubeMX (可做成bat脚本)

start /min javaw -jar "C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\STM32CubeMX.exe"

这也是java+exe4j打包的exe可以在Linux/Windows/MacOS平台运行的原因。

370a7f27d36d9af27a9e9828e98633f2.png

提取方法

Windows双击打开该exe,保持界面不关闭,

一般在C:\当前用户名\AppData\Local\Temp下的 .jar (直接用EveryThing搜索.jar也可以)

其他提取方法(未测试,可能可用可能不可用)

重命名为jar

只针对使用exe4j特定模式打包的

使用程序进行文件流提取、

参考该帖(新版exe4j已失效):从exe4j生成的exe中抽取jar文件-BlogJava

代码

import java.io.*;

import java.util.*;

public class gen {

public static void main(String args[]) throws IOException {

FileInputStream fin = new FileInputStream(args[0]); // 可以将整个exe文件解码

FileOutputStream fout = new FileOutputStream(args[1]);

BufferedInputStream bin = new BufferedInputStream(fin);

BufferedOutputStream bout = new BufferedOutputStream(fout);

int in = 0;

do {

in = bin.read();

if (in == -1)

break;

in ^= 0x88;

bout.write(in);

} while (true);

bin.close();

fin.close();

bout.close();

fout.close();

}

}

1dbdd269f909d5f9955e34ac2fb14743.png

79af96852560b6efeb7049bcfed74ce3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值