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

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

5个回答

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

weixin_44442000
杨沛东 exe4j工具试过了,生成的exe程序报错,但是jar可以正常运行,除了exe4j还有类似的工具吗?
一年多之前 回复

用exe4j这类工具

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

xsb_20171227
今天是星期五 这个就不清楚了
一年多之前 回复
weixin_44442000
杨沛东 那项目中的图片地址应该怎么去设置,生成的exe报错,应该是图片找不到
一年多之前 回复

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

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

aiyoyoyo
甲大赋 我记得exe4j打包,使用的资源路径需要配置成classpath形式的内部可访问路径。否则程序里相对路径的引用是不可以访问的。
一年多之前 回复
weixin_44442000
杨沛东 我理解你的意思,起初是想把jar包打成exe程序,但是试了好几天,打出的exe程序打开后报错,jar包可以正常运行,所以我就想着是不是exe4j工具没用好,但是按照网上的流程从来没成功过,我就看看还有没有其它类似的打包工具。我看了报错信息原因应该是项目中的照片位置找不到,请问用这种方式打包的话,照片位置在项目中应该如何处理?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

如何调试jar包中的源码

jar包中的源码关联后,有一大堆class文件,如何在其中设置断点,让它跑起来呢,就是想看看项目是怎么运行的

怎么修改jar包中的class文件然后再重新打成jar包

怎么修改jar包中的class文件然后再重新打成jar包,请哪位高手分步指点一下怎么操作,不胜感激

如何在jar包中使用到spring容器中的bean

这个jar包要使用到这个工程中的某个类,而这个类的配置是由spring管理,怎么在这个jar包中获取到这个bean

如何知道jar包中类的功能和有哪些方法?

eclipse里导入了一个jar包,如何知道jar包中类的功能和有哪些方法?

如何解析jar包中接口的方法和参数?

我的需求是给你一个指定的jar包,你去解析这个jar包, 把这个jar包中接口的方法和属性获取出去?

送分题,跪求大神解答jar包中能再包含个jar包吗?

有一段代码,里面引用了一些jar包,我一并打成了jar包,然后把这个jar包放到别的项目里,再打成war包用tomcat部署,报404,请问jar包中包含jar包会有问题吗?

jar包中dll文件怎么获取?

在linux环境下,java生成的jar包,在运行jar包程序时怎么获取jar包中的资源呢?

怎么样将第三方jar包打包进当前的jar包中

如题:怎么样将第三方jar包打包进当前的jar包中?比如我想将目前的java程序打包成一个jar包,但是当前的java程序中引用了第三方jar包,这种情况下如何操作?

java 获取jar包中的类 继承关系无法获取的问题

场景:一个jar包中,有类A,类B。A是接口interface,B实现了类A。 现在写了一个程序,读取这个jar包,获取该jar包下的所有类。(这个程序里也已经写好了接口A)现在判断类B是否实现了类A(用class.isassignablefrom()方法),但是却没办法判断出来。读取本地jar包获取的类,继承关系没办法获取吗? 我已经试过如果是在这个程序里实现了类A的类C,是可以用isassignablefrom()判断出来,可是从jar包里获取的类B就没办法。 请问我该怎么解决这个问题?

利用java反射在jar包下二级jar包中搜索一类的子类或实现类问题

方法一:对于在开发环境中,在本项目中找出一个类所有的子类或实现类比较简单,即使是多模块项目,只要以项目根目录为起点,遍历所有.java结尾的类的路径,用Class.forName(classPath)得到该类 ,然后class1.isAssignableFrom(class2)就可以判断出class2是否为class1的子类或实现类,将满足条件的类放入set即实现了要求。 方法二:第二种情况就是在jar包中寻找,也只需利用JarFile jarFile = new JarFile(new File(path));然后利用Enumeration<JarEntry> jarEntryEnum = jarFile.entries();获取jar内的所有文件,找到以.class结尾的编译文件的路径,同样用Java反射,然后用isAssignableFrom判断是否为子类或实现类,就可以满足需求。 但问题来了,在正式环境中,由于是多模块项目,maven打包成jar包,主模块为main.jar在外层,其他模块将以child.jar的模式存在main.jar的BOOT-INF\lib目录下。这时使用方法二,只能找出最外层的.class文件和所有的child.jar文件,由于子类或实现类在其他模块也有,所以也需要去除child.jar中的所有.class文件,这时就实现不了了……因为child.jar是在main.jar文件内部,这时的path,如果用JarFile jarFile = new JarFile(new File(path))去取,会报错,路径不存在,文件找不到。 有大神解决过类似的问题吗?一起探讨探讨吧

关于Android工程引用jar包中的方法

public class MainActivity extends Activity { private String a; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); new Test(a); } class Test{ private String string ; private Test(String string){ this.string=string; System.out.println(string); } } } 把这个工程打包成了jar 导出 成test.jar 然后在另一个工程ActivityB通过右键--BuildPath--Configura BuildPath--addExternal jars 导入了 test.jar包 到这边应该没问题吧 网上都是这样做的 然后我要在ActivityB中来调用这个jar包中的那个Test方法 该怎么调用啊 网上有说直接 包名.类名.方法名就行了 可是我test.Test.Test(string) 不行啊 怎么在B中去调用jar包中的方法啊 该怎样写啊

Spring Aop 能切入jar包中的某个类的某个方法吗

有看过网上的一些介绍,尝试着把这个类交由Spring去管理,并配置为多例的(经常new),写了测试,bean注入成功,但是切点切不进去,aop这块写的没有问题,自己有测试,求大神指点

Unity调用两个jar包中的方法的问题

有两个jar包并且两个都继承了UnityPlayerActivity,但是AndroidManifest中只能配置一个MainActivity,通过AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); ANdroidJavaObject jo = new AndroidJavaObject("currentActivity");jo.Call 通过这样去调用的话可以调用到MainActivity中的方法但是无法调用到另一个继承UnityPlayerActivity中的方法。会出NoSuchMethodError的错误,有什么有什么办法去调用另一个jar包中的方法啊 ,刚接触Unity不是很懂,求大神指导下

maven项目下载jar包中的jar包问题

项目B 引用了jar A,将项目B上传到公司的maven仓库中, 在项目C中引用了项目B, 此时加载的只有项目B的jar包,jar A没有一并加载进来。 如何在项目C中自动加载jar A??

web.xml中怎么设置放在jar包中的applicationContext.xml

web.xml中怎么设置放在jar包中的applicationContext.xml??? !!! [b]问题补充:[/b] 不能弄出来,就要放在jar包里,有没有办法?

spring boot注入jar包中的接口总是提示that could not be found

首先是在spring boot项目中注入的jar包中的接口 ``` @Controller public class MessageTransferStationController { @Autowired private MessageClient messageClient; } ``` 其次,jar包中的MessageClient的源码 ``` public interface MessageClient { } ``` MessageClient分别有三个实现类 ``` public class CoreMessageClient implements MessageClient {} @Component public class SpringMessageClientImpl extends CoreMessageClient implements MessageClient {} public class Spring2MessageClientImpl extends CoreMessageClient implements MessageClient {} ``` 当我在spring boot项目中注入MessageClient接口的时候,启动报错: 017-06-12 15:06:53.281 WARN 9780 --- [ main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'messageTransferStationController': Unsatisfied dependency expressed through field 'messageClient'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.sinosoft.messageclient.MessageClient' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 2017-06-12 15:06:53.283 INFO 9780 --- [ main] o.apache.catalina.core.StandardService : Stopping service Tomcat 2017-06-12 15:06:53.316 INFO 9780 --- [ main] utoConfigurationReportLoggingInitializer : Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 2017-06-12 15:06:53.431 ERROR 9780 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Field messageClient in com.sinosoft.oa.message_transfer_station.web.MessageTransferStationController required a bean of type 'com.sinosoft.messageclient.MessageClient' that could not be found. Action: Consider defining a bean of type 'com.sinosoft.messageclient.MessageClient' in your configuration. Process finished with exit code 1 --- 请问各位大佬,为什么MessageClient为什么不能注入,我猜想过MessageClient的实现类没有被Spring管理,我看了jar包中源码有一个实现类加上了@Component注解 求教各位大佬,这是什么原因引起的? 注:引用jar包中的其它接口也测试过了,同样的错误,也就是说引用的这个jar包中的所有接口都没有被spring管理,或者没有扫描。

使用JAR包中的类与JDK的rt.jar冲突的问题

[size=medium]项目中遇到这样一个问题:使用的第三方JAR包中有一个整包(javax.management)与JDK的javax.management包重复了,但是具体实现却是不一样的,运行的时候第三方JAR包里的类试图调用自己提供的javax.management包里的类,但是JDK也提供了javax.management包,所以虚拟机优先调用了自己的javax.management里的类,于是就出错了。请问这个问题要怎么解决?因为这个原因项目已经停滞好久了,希望看到的大侠给解答一下,不甚感激! 项目实际情况是:我要在JDK1.6环境下监控WebLogic8,需要用到weblogic.jar,但是weblogic.jar提供了javax.management包,与JDK1.6提供的javax.management包冲突了,而且内部实现还不完全一样。 :arrow: :arrow: :arrow: [/size]

如何自动下载jar包中的其他依赖

把原始项目使用idea打成了jar包(散包,copy to the...),上传到了Nexus,另一个项目用pom下载jar包,可以使用这个jar包。 但是,运行的时候找不到这个jar包依赖的其他jar包,比如原始项目依赖的base64就找不到,运行期异常:java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64。 求教如何自动下载jar包中的其他依赖。

Java JAR包中的类 父类方法不可见等

场景: 两个jar包分别为a.jar、b.jar。b.jar中引用了a.jar,具体为b.jar中的类B继承了a.jar中的类A。 A有两个方法,a.getName(),a.getAge(),B重写了getName方法,未重写getAge方法。 新建了一个Java项目C,**C只引用了b.jar,未引用a.jar**,于是出现了如下两个问题: 1、在C项目中,类B没有getAge方法 2、在C项目中,使用强制类型转换时(如)B b = (B)map.get("key"),会报错: - The type A cannot be resolved. It is indirectly referenced from required .class files 请教:1、构建子类对象时,继承自父类的方法为何没有加载?2、强制类型转换为何需要找A类? 追加:前提就是C项目不能引用a.jar。不然也不会发现这个问题。我知道引入a.jar可以解决这个问题。但是想知道为何必须引入a.jar。虚拟机加载b.jar中的类并创建对象时,难道不是把所有方法都准备好了吗?为什么还会有父类方法不可见的情况

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问