感慨:啊啊啊啊啊啊啊啊啊啊,这个问题弄了我好久,整整一天!!!

概述:原本是调用公司自己写的jar包的工具类。在其他项目都能调用,一模一样的套用过来就是不行。问了一些同事他们也不知道怎么解决。

   然后百度上网查资料,网上大多数都是说jar包冲突,或者读不到配置文件,静态方法什么的。因为这是公司内部写的工具jar包,应该不会存在冲突的。我还是

   检查了jar包,因为我另外一个项目调这个方法是没问题的。所以我把j整个项目的jar包几乎改成和另外一个项目一样的。还是没用(中途包括网上查的先降级在升级jar什么的,都试过)。

   

   项目重启,各种clean install 重新编译还是没用。真的是奇了怪了。

   网上说读不到配置文件。我看了我那个工具类,他虽然是有配置文件,但是也是配置在他jar包里面的,无需我配置啊。再说了我另外一个可以运行的项目也没配置其他的。百思不得其解。

   在已经放弃的边缘,我想说,实在不行换种方式实现吧!

   因为我另外一个项目一样的用法是没有问题的,所以我几乎对比了这个两个项目的所有不同点。能保持一样的都保持一样了。

   其中有个问题,我们的项目都是springboot,在启动类那里,

//原本没问题的项目
@ComponentScan("aaa.bbb.ccc")
//报错的项目
@ComponentScan

开始的时候知道这里不同,但是每太注意,因为

@ComponentScan的作用是扫描其包所在的位置下面的所有包
@ComponentScan("aaa.bbb.ccc")的作用是扫描指定路径下的所有包

然后感觉也没问题,就没太注意。
但是,当你很绝望的时候,什么都要去试一下的。
然后我把这里也改成了一样。就可以了!!!! 最后就知道为什么了 原因就是
我们公司的默认路径都是
aaa.bbb.ccc.项目名(ddd).启动类(App.java)
@ComponentScan没配置扫描路径的时候,就是扫描 aaa.bbb.ccc.项目名(ddd) 下的包
@ComponentScan("aaa.bbb.ccc")确实扫描的 aa.bbb.ccc 下的包,没有 项目名(ddd)这一层

而我调用的公用工具包是公司自己写的,都是以公司的名称命名的,所以那些配置文件都是放到 aaa.bbb.ccc 下的
没有项目名(ddd)。@ComponentScan不指定路径的话,是扫描不到工具jar包里面的类的(扫描不到类,意味着他们的注解是不可以用的),就会导致他们读不到配置文件,
所以在调用静态方法的时候,就会报 java.lang.NoClassDefFoundError: Could not initialize class xxx 所以,最终问题确实是归结到 静态代码块读不到 配置文件的内容!!!!

												

java.lang.NoClassDefFoundError: Could not initialize class xxx的更多相关文章

  1. java.lang.NoClassDefFoundError: Could not initialize class xxx 原因

    一.问题及原因 程序里有个工具类,主要是调用它的静态方法来发送mq. 调用场景如下: 结果这两天报了个错: java.lang.NoClassDefFoundError: Could not init ...

  2. hibernate 解决 java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.xxx 这类的问题

    <!-- 解决 java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.intern ...

  3. java.lang.NoClassDefFoundError: Could not initialize class异常处理

    借鉴:http://blog.csdn.net/sleepdancer/article/details/9207425 static { InputStream in = XXX.class.getR ...

  4. Java 上传文件到 SFTP 抛异常 java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.SunEC 的解决办法

    最近从 Op 那里报来一个问题,说是SFTP上传文件不成功.拿到的 Exception 如下: Caused by: java.lang.NoClassDefFoundError: Could not ...

  5. 异常:Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.log4jdbc.Properties

    参考文章: 使用Log4jdbc-log4j2监听MyBatis中运行的SQL和Connection 使用 log4jdbc格式化输出SQL,maven配置如下: <dependency> ...

  6. java.lang.NoClassDefFoundError: Could not initialize class net.sf.json.util.JSONUtils

    页面报错: root: java.lang.NoClassDefFoundError: Could not initialize class net.sf.json.util.JSONUtils 出错 ...

  7. 异常-----java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.core.KeyFactory

    SSH 类库问题 java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer2009- ...

  8. java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart

    最近在进行利用jfreechart生成图表时发现,项目在本地运行的好好的,一部署到服务器(linux系统)上就不行,报这样的错误: java.lang.NoClassDefFoundError: Co ...

  9. exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

      exception java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironmen ...

随机推荐

  1. 3. Longest Substring Without Repeating Characters 无重复字符的最长子串

    1. 原始题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &quo ...

  2. 报错:org.apache.sqoop.common.SqoopException Message: CLIENT_0001:Server has returned exception NoClassDefFoundError: org/codehaus/jackson/map/JsonMappingException

    报错背景: CDH集成sqoop2服务之后,创建好link和job之后,执行job的时候报错. 报错现象: sqoop:> start job -j Exception has occurred ...

  3. jquery获取复选框checkbox的值

    jQuery API : each(callback) :以每一个匹配的元素作为上下文来执行一个函数. :checked :匹配所有选中的被选中元素(复选框.单选框等,不包括select中的optio ...

  4. text-align:justify 两端对齐

    今天看页面发现一个以前没用过的css属性text-align:justify,查了一下非常实用,是一个实现文本两端对齐的属性. 使用前: 使用后: 看了一些文章还有结合inline-block+tex ...

  5. CentOS6安装MySQL开启远程登录

    Centos6安装MySQL 检测下系统有没有自带的mysql:yum list installed | grep mysql 如果已经有的话执行命令 yum -y remove mysql-libs ...

  6. vs.Debug.vector迭代器报错(_ITERATOR_DEBUG_LEVEL)

    1.vs2017.Win7x64 std::vector<ULONG>,在 使用 *iter 取某个 ULONG时 报错,release不报错,报错信息: ZC:具体原理不明,暂时的解决方 ...

  7. IDEA将Git本地仓库Push至远程仓库

    转自:https://blog.csdn.net/qq_15653601/article/details/79870996 本地本地仓库项目: 配置Git自动识别本机Git配置

  8. TCP/IP学习笔记11--无线通信: 无线通信的种类, 点对点通信协议

    IEEE802委员会主要指定了以下几种分类: PAN: personal aera network;  LAN: local area network; WAN: wide aera network ...

  9. SpringCloud用Zookeeper做服务注册与发现中心代码实现

    一:Zookeeper用的是3.5.5版本,SpringBoot用的是2.1.6版本,SpringCloud用的是Greenwich.SR2版本,JDK用的是1.8: 服务提供者product-ser ...

  10. Linux基础-14-ssh服务、apache服务

    1. ssh服务 ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息. ssh服务端 ...