java--->jar--->exe

1、C++调用java

①C++调用java,前面已经总结过了

②注意路径配置,注意来回传参的数据类型

③注意第三方jar包和dll文件的引用和位置

2、C++调用jar

①为了方便,对于不需要传参的java源码,可以使用封装jar包的方式进行调用

②Export(直接导出.class文件即可,封装一些第三方资源,在单独调用jar的时候也不对,还不如直接封装.class,然后第三方资源路径和jar包路径保持一致即可)

③把导出的jar包放在工程的相对路径上,这样可以调用源码中的相对路径,才不会报错

④用压缩包打开jar,修改配置文件(META-INF--->MANIFEST.MF--->添加程序进口和第三方jar包)

Class-Path: libtensorflow-1.6.0.jar
Main-Class: com.picture
⑤第一个是第三方jar,第二个是com包下的一个类(该com包下有好多类)
⑥cmd运行jar包即可(java -jar demo.jar)

⑦一些相对路径资源、第三方jar包、dll文件、jar包都放在同一路径下。(缺点是jar包被调用时候,是用cmd命令打开的,当作为子程序被调用时,会出现黑框框)

3、C++调用exe

①解决jar包的不足之处,不会出现黑框框

②下载exe4j来实现jar包的封装,导出exe

③打开界面,点击next


④选择"Jar in EXE" mode


⑤java项目名是demo,exe的存放路径和你java项目保持一致,方便调用相对路径资源


⑥添加exe的名字和生成exe的图标,不加也行。(第四步需要两处配置)


修改为64位,不然后报错,目前几乎电脑都是64位


⑦这一步骤比较重要

第一步:添加所有用到的jar(绝对路径)

第二步:添加添加主程序入口,项目下不止一个类

第三步:添加项目用到的第三方dll目录(相对路径)

总结:jar包会打包到exe中,后期运行exe文件可以删除jar,但是不能删除当前目录下的dll文件


dll文件在项目当前路径,添加当前路径文件夹即可


⑧设置运行该exe程序的jre的最低版本,最高版本可以不设置,然后配置jre


配置jre,已经默认是本地的jre,为了方便移植,首先把本地的jre拷贝到当前目录下,然后删除默认的前三项,添加相对路径下的jre



⑨直接finish即可,会生成exe文件(这时先别关闭exe4j,后面还有用),然后运行exe程序,会发现会有一个提示框(注册一下即可)


没有关闭的exe4j,现在可以直接返回到第一步进行注册,然后直接finish就行了,重新生成exe文件,不用程序配置了,很省事。


填写姓名和公司名以及注册码(前两个随便写,这里给出几个注册码)

A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
A-XVK222711F-134h5ta8yxbm0
A-XVK275016F-15wjjcbn4tpj
A-XVK275016F-15wjjcbn4tpj


⑩注册完,finish一次,重新生成exe文件,到这里就大功告成了。

4、java、jar、exe优缺点

①java需要整个项目

②jar只需要相对路径资源、dll、第三方jar包(不需要源码和class文件,.class文件封装在jar包中)

③exe只需要相对路径资源、dll(不需要jar包了,jar包被封装在exe中,为了方便移植需要添加jre)

5、jar生成exe注意事项

①用到的jar包路径添加

②用到的dll文件添加(没用到就算了)

③jre的添加(方便移植)

④修改为64位

猜你喜欢

转载自blog.csdn.net/hqh131360239/article/details/80050403