如何让客户看不到jar包中的源码?

一个java项目,打成jar包后,一开始使用bat程序运行项目,bat中是直接运行jar包的脚本。由于客户那边可以看到jar包中的源码,所以现在需求变了,想删除掉jar包并且在没有jar包的情况下依然可以运行java项目,这个应该如何操作,请各位大神指个方向!

用exe4j这类工具把jar包打包成exe文件试下

用exe4j这类工具

如果要将jar打包成exe的话,需要把jdk一起打包进去,不然客户那边就得要求安装jdk什么的

自定义类加载器,自己的类的二进制class文件进行加密,只能用自己的类加载器加载。

首先你的问题就好比,客户要做一个的网站,但是客户不要有任何程序文件在这个网站里,或者说单纯只是你们不愿意把源码给客户怕客户反编译。
那么以你的问题来说,单纯的想删除掉jar包并且在没有jar包的情况下依然可以运行java项目,这个是不可能的事。没有程序文件,你让程序跑什么?
如果是前面打比方的第一点,唯一的办法是所有内容放在第三方的服务器里,然后自己的程序只做转向或者引用(这块类似微信小程序或者别的什么形式。)
如果是第二点,exe4j将所有内容打进exe。