情况: 在maven中引入两个包都有项目的包名和类名,只是jar包的名字不同.两个包的一部分在代码中的不同地方都需要用到. 网上找的大部分都是: 只有改变编译器优先选择的jar顺序(这个顺序是可以改变的):包jdk放到前面就好了. 解决: 在maven中也是这样,只要调整好dependency的顺序,选定优先选择哪个包就能解决 <dependency> <groupId>org.apache.commons</groupId> <artifactId>com…
https://blog.csdn.net/itachiwwwg/article/details/9003261 当java的源代码中出现了和系统的lib库中的包名与类名完全一样的类时,系统应当怎么加载? 我们都知道在JVM启动的时候会先调用bootstrap classloader 加载核心类,然后调用extClassLoader 加载系统扩展类,然后再调用APPClassLoader加载系统类,现在问题来了当我们在工程里创建一个从包名到类名都与系统已有的类完全一样的类时会发生什么事情?请看下…
日常开发中的api都在rt包中,具体路径为:/jdk1.8.0_162/jre/lib中,注意是在jre中. 每个包中大致包含以下几个部分: 接口 类 枚举 异常 错误 注解 J2EE开发中常用的包 java包(核心包) java语言本身 java.lang: java.util: 日期.数学计算 java.time java.math java.text io java.io: java.nio: 网络通信 java.rmi: java.net: 安全 java.security: 数据库 j…
https://blog.csdn.net/landehuxi/article/details/42678117 使用Ant打jar包后,发现jar包中的方法名会在前面自动添加了“param”前缀,导致Spring的Bean注入时,因bean名称不正确初始化失败. 解决办法: 在build.xml的javac命令中增加 debug="true"    debuglevel="lines, vars, source"这两行属性 问题原因是: ant打包默认javac命…
今天在做项目的时候遇到了一个很有意思的问题,折磨了我很长时间,不过最终还是解决了,特留此文纪念一下. 遇到的问题: 同样一段代码,在同事那就好使,在我这就找不到一个方法.引用的包也都是相同的,这种问题还是第一次遇到,怎么办呢? 找啊找啊找原因,查看引用的包,才发现我所引用的包名和同事引用的包名是相同的,不同的是我两引用的包不是一个jar.也就是说不同的jar里包含了相同的包名和类名.   问题的原因找到了,那怎么解决呢?怎么指定调用自己需要的jar中的包呢? 要解决这个问题,还得先了解jvm加载…
不反编译,不用其他工具,用java反射查看jar包中所有的类名方法名,网上很多都报错,下面这个你试试看:话不多说直接撸代码: import java.lang.reflect.Field; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.util.Enumeration; import java.util.HashMap; import java.u…
首先从表现层介绍,后续后深入原理. 1,先简单介绍maven如何生成jar文件方便测试 <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptor…
java 执行 jar 包中的 main 方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢?用下面的命令试试看: java -classpath ****.jar ****.****.className [args] “****.****”表示“包名”:“className”表示“类名”:“[args]”表示传入的参数: 直接运行…
我加载的方法是://参数fileName是jar包的路径,processorName 是业务类的包名+类名public static A load(String fileName, String processorName) {            String filePath = fileName;              A processor = null;  URL url;try {  url = new URL(filePath);} catch (MalformedURLEx…
  参考了 http://blog.csdn.net/hekewangzi/article/details/44676797 针对aar包,增加一些说明 aar包本质应该是zip文件.可以用360解压缩打开并解压.里面有我们需要的jar包. 一.使用反编译工具JD-GUI(JD-GUI相关操作见Java-----反编译class文件)打开要修改的jar包(如update.jar),找到jar包中要修改的class文件(如a.class) Java反编译工具: JGUI  http://pan.b…