- watchdog: BUG: soft lockup - CPU#3 stuck for 23s! [swapper/0:1]
打个工而已
Linuxlinux
测试代码如下:#include#include#includestaticDEFINE_SPINLOCK(hack_spinA);staticDEFINE_SPINLOCK(hack_spinB);voidhack_spinAB(void){printk("hack_lockdep:A->B\n");spin_lock(&hack_spinA);spin_lock(&hack_spinB);}vo
- printk的原理及使用
嵌入式开发1
linux
内核驱动调试的方法,先从我最常用的printk的使用方法开始讲起,printk在内核源码中用来记录日志信息的函数,方便我们调试追踪代码,只能在内核源码范围内使用。本篇内核采用5.10版本。很多内核开发者最喜欢的调试工具之一是printk(),printk()是内核提供的格式化输出函数,它和C标准库提供的printf()函数类似。printk()函数和printf()函数的一个重要区别是前者提供了输
- C++中键盘响应结合OpenCV库进行图像灰度图、HSV图转换和亮度调整
忙什么果
opencvC&C++c++计算机外设opencv
QuickDemo.cpp#include//键盘响应voidQuickDemo::key_demo(Mat&image){Matdst=Mat::zeros(image.size(),image.type());while(true){charc=waitKey(100);if(c==27){//key#esc,退出break;}if(c==49){//key#1,按键1,打印youprintk
- 设备驱动开发_2
谭长友
LinuxKerneldevelop驱动开发
编译和调试主要内容写一个可加载模块编译和加载一个可加载模块使用printk进行跟踪和调试使用跟踪和调试1写一个可加载模块内核头文件linux/module.hmodule_init(e1000_init_module)staticint__inite1000_init_module(void)module_exit(e1000_exit_module)staticvoid_exite1000_ex
- QWB-2018-core | 栈溢出
goodcat666
pwn_cve_kernellinuxpwn
题目分析core_writesigned__int64__fastcallcore_write(__int64a1,__int64a2,unsigned__int64a3){unsigned__int64v3;//rbxv3=a3;printk(&unk_215);if(v363){printk(&unk_2A1);result=0xFFFFFFFFLL;}else{result=0LL;qmem
- items()
地铁姑娘
items()方法是将字典中的每个项分别做为元组,添加到一个列表中,形成了一个新的列表容器。如果有需要也可以将返回的结果赋值给新变量,这个新的变量就会是一个列表数据类型。x={'title':'pythonwebsite','url':'www.iplaypy.com'}printx.items()fork,vinx.items():printk+"="+v结果如下image.png
- Linux死机排查方法——内存日志
Dokin丶
Linux驱动Linux软件工具linuxlinux死机linux死机排查
一般情况下,Linux系统在死机时会产生一些dump信息,例如oops,通过分析oops信息就可以基本定位问题所在,但有些特殊情况下死机时,没有任何的打印的信息。如果直接使用printk等打印排查问题,有可能会因为printk输出缓慢改变了系统运行的时序,导致问题无法复现,而且在中断里使用printk将大大降低系统性能。如果有DS-5等硬件调试工具,那是最好的,如果没有,那么这时候可以借助一种特殊
- 【驱动学习】ioctl 函数
榕树子
linuxclinux驱动
staticintglobalmem_ioctl(structinode*inodep,structfile*filep,unsignedintcmd,unsignedlongarg){switch(cmd){caseMEM_CLEAR:/*清除全局内存*/memset(dev->mem,0,GLOBALMEM_SIZE);printk(KERN_INFO"globalmemissettozero
- [RK3568 Android11] 教程之内核printk便捷调试方法
~未来可期~
RK3568驱动开发printk函数printk便捷调试方法rockchip驱动教程
总目录链接:[RK3568Android11]本专栏说明和总目录目录前言一、关于printk二、printk便捷调试方法前言开发过程中都会使用到调试串口,为了方便调试,需要添加一些调试信息;为了快速打开和屏蔽调试信息,从而不影响调试串口的正常打印,需要制定一个宏开关来控制;
- [RK3568 Android11] 教程之内核printk函数的用法
~未来可期~
RK3568printkkernelprintk内核printk内核打印信息linuxprintk
总目录链接:[RK3568Android11]本专栏说明和总目录目录前言一、printk函数的用法前言printk()是内核模块中用于记录和输出调试信息的函数,printk()是属于内核空间而不是用户空间,printk()的用法和printf()基本相似,区别在于printk()可自定义输出打印级别。printk()函数是内核最常用的一种调试手段:用于跟踪代码、打印出变量的值、打印错误提示信息等等
- RK3568平台 内核printk打印级别
嵌入式_笔记
瑞芯微linux运维服务器
一.printk简介Printk实现流程:test[]:打印到控制台的字符串缓存区:根据控制台等级先存放于cont.buf,调用console_unlock将cont.buf拷贝到test[],最后调用底层终端设备write函数打印。__log_buf:内核日志缓冲区,包括等级低无法打印到控制台的日志。二.printk消息级别Linux内核共提供了八种不同的消息级别,分为级别0~7。数值越大,表示
- Python字典有序和无序
MononokeHime
字典的无序是指数据存进字典的顺序跟取出字典的顺序不一致Python2的字典是无序的>>>d={'a':-1,'b':-1,'c':-1}>>>d{'a':-1,'c':-1,'b':-1}>>>fork,vind.items():...printk,v...a-1c-1b-1那如何保持字典有序呢?使用OrderedDict>>>fromcollectionsimportOrderedDict>>>
- 基于WEKWS模型的语音唤醒关键词识别
伪_装
语音识别深度学习人工智能机器学习深度学习语音语音识别语音唤醒
一、模型描述1.1论文解读本文所使用的模型网络结构继承自论文《CompactFeedforwardSequentialMemoryNetworksforSmall-footprintKeywordSpotting》,文中研究了将低秩矩阵分解与传统FSMN相结合的紧凑型前馈顺序记忆网络(cFSMN)用于远场关键字检测任务。此外,文中还分析了其结构参数的影响,为了降低计算成本,将多帧预测(MFP)应用
- linux用户空间资料读取到内核驱动
Chhjnavy
Linux树莓派linuxkernelkernel_readfile_open
#include#include#include#include#include#include#include#include#include#include#includestaticint__initread_pic_init(void){intret=0;structfile*fp;loff_tpos;charimageBuffer[1024];printk("hellokernel\r\
- linux 内核空间计算code 运行时间测试
Chhjnavy
Linuxlinuxdo_gettimeofdaytime
#include#include#include#include#include#include#include#include#include#include#includestaticint__initkernel_time_init(void){inti;structtimevalstart_time,end_time;longcost_time=0;printk("kerneltimete
- linux 内核printk 打印信息查询方法
Chhjnavy
Linuxlinuxprintk
方法1.直接在终端查询日志cat/var/log/messages方法2.直接在一个终端执行cat/proc/kmsg然后打开另一个终端,动态加载驱动,在上一个终端中就能看到驱动中printk的打印信息(按ctrl+c才会退出)。
- Linux:/proc/kmsg 与 /proc/sys/kernel/printk_xxx
小嵌同学
LinuxAPI编程初窥uboot与Linux内核linux服务器嵌入式内核C
目录前言一、/proc/kmsg1、简介2、如何修改内核日志缓冲区3、dmesgklogctl函数(来源于man手册)4、扩展阅读二、/proc/sys/kernel/printk_xxx三、/dev/kmsg前言 本篇文章将为大家介绍与Linux内核日志相关的一些控制文件,共同学习!一、/proc/kmsg1、简介 /proc/kmsg是一个特殊的文件,它提供了内核消息缓冲区的访问,这个缓冲
- 内核模块(yocto下添加内核模块)
和平精英总指挥
linux运维服务器yocto
可以动态的添加到内核当中,添加后其于内核中的其他部分完全相同,可以不用重新编译整个内核,可以在内核运行状态下动态的加载和卸载文件类型为elf格式。一个最简单的内核模块代码代码结构如下myhello.c#include#include#includestaticint__initmyhello_init(void){printk("=============================\n");
- 【NVIDIA】Jetson Orin Nano系列:编译外部驱动(交叉编译和板上编译)
郭老二
linux驱动linux驱动OrinNano
【AI】AI学习目录汇总1、源码编译vihello.c#include#includestaticint__initlaoer_hello_drv_init(void){printk(KERN_E
- linux下,PC机串口通信开发
穷善其身
linux算法运维
1、查看电脑的串口~/share/bin/PC$dmesg|greptty[0.083244]printk:console[tty0]enabled[0.329145]00:02:ttyS0atI/O0x3f8(irq=4,base_baud=115200)isa16550A[0.351177]00:03:ttyS1atI/O0x2f8(irq=3,base_baud=115200)isa1655
- 【驱动】TI AM437x(内核调试-02):dynamic 动态打印调试
郭老二
linux驱动linux驱动
1、配置内核dynamic可以根据不同级别的作用域来启用/禁用-每个源文件、函数、模块、格式字符串和行号的打印信息。内核中,默认没有配置dynamic,因为使能dynamic会使内核增大2%Symbol:DYNAMIC_DEBUG[=n]Type:booleanPrompt:Enabledynamicprintk()supportLocation:->Kernelhacking->printkan
- Linux kernel log
归云十九少
Linux嵌入式软件开发linux
1、动态控制log打印的级别echo>/proc/sys/kernel/printk或者dmesg-n可以控制log输出级别。level小于的log会输出到console口。注意:级的log不会输出。通过`cat/proc/kmsg`可以查看所有编译时允许输出的log,比如console_loglevel设置为4,此时在console口上只有0~3level的log输出,但通过`cat/proc/
- 【驱动】TI AM437x(内核调试-01):printk
郭老二
linux驱动linuxkernel
1、内核版本查看在linux源码的顶级Makefile中可以查看源码的版本信息$headMakefileVERSION=4PATCHLEVEL=9SUBLEVEL=65EXTRAVERSION=NAME=RoaringLionu2、打印级别定义printk打印级别定义在文件:include/linux/kern_levels.h中#defineKERN_EMERG"0"/*systemisunus
- c语言常用的打印/输出函数
IGH EtherCAT
c语言基础linuxc语言
c语言中除了最开始接触的printf()函数,还经常遇到其他函数,sprintf(),printk(),fprintf()等。1,printf()这个函数应该是用的最多的,或者是最先接触的,至少我是这样,printf()是c标准库函数函数声明为:intprintf(constchar*format,…)printf("",);作用是发送格式化输出到标准输出stdout。详细用法2,printk()
- linux 休眠唤醒中设备、总线、用户进程、内核线程调试分析流程
a2591748032-随心所记
linuxlinux休眠唤醒linux进程线程设备总线休眠唤醒
一、suspendingconsoles打印代码位置:Kernel/power/suspend.c函数调用流程:devices_and_enter(suspend_state_tstate)-->suspend_console();voidsuspend_console(void){if(!console_suspend_enabled)注释这一行,可以看到休眠后printk的打印return;p
- lv13 内核模块静态添加功能 5
4IOT
嵌入式开发linuxarm开发
一、向内核添加新功能(把程序添加到内核启动)1.1静态加载法:即新功能源码与内核其它代码一起编译进uImage文件内新功能源码与Linux内核源码在同一目录结构下在linux-3.14/driver/char/目录下编写myhello.c,文件内容如下:#include#includeint__initmyhello_init(void){printk("####################
- cilium原理之ebpf尾调用与trace
沃趣数据库管理平台
技术专栏linux服务器网络ipes前端
背景在深入剖析cilium原理之前,有两个关于epbf的基础内容需要先详细介绍一下:1.ebpf尾调用尾调用类似于程序之间的相互跳转,但它的功能更加强大。2.trace虽然之前使用trace_printk输出日志,但这个函数不能多用,会有性能问题。而且它的输出可读性差,不利于程序进行分析。本文将着重讲讲如何进行分析,方便程序后续跟踪。1.ebpf尾调用介绍尾调用能够从一个程序调到另一个程序,提供了
- 第一个hello world驱动程序
一路向后
1.hello.c#include#include#includestaticint__inittest_init(void){printk("initmodule\n");return0;}staticvoid__exittest_exit(void){printk("exitmodule\n");}module_init(test_init);module_exit(test_exit);2.
- linux 统计词频
redbus
统计一个文件中单词出现的频率,以小写字母空格组成thedayissunnythethethesunnyisisthe4is3sunny2day1awkawk中可使用关联数组,类似于字典(无需定义,自动扩展)echo""|awk'BEGIN{arr["one"]=1;arr["two"]=2;arr["three"]=3}{for(keyinarr)printkey,arr[key]}'three3
- Linux内核打印函数printk
凌肖战
Linux驱动学习linuxarm开发
一.简介在Linux系统下,有用户空间与内核空间的区分。应用程序运行在用户空间,而Linux驱动属于内核的一部分,因此驱动运行于内核空间。应用程序需要打印信息到串口时,一般调用printf()函数,但是,内核中需要打印信息时则会调用printk()函数。本文简单学习printk()函数的使用。二.Linux内核打印-printk函数1.printk()函数的打印级别在Linux内核中没有print
- iOS http封装
374016526
ios服务器交互http网络请求
程序开发避免不了与服务器的交互,这里打包了一个自己写的http交互库。希望可以帮到大家。
内置一个basehttp,当我们创建自己的service可以继承实现。
KuroAppBaseHttp *baseHttp = [[KuroAppBaseHttp alloc] init];
[baseHttp setDelegate:self];
[baseHttp
- lolcat :一个在 Linux 终端中输出彩虹特效的命令行工具
brotherlamp
linuxlinux教程linux视频linux自学linux资料
那些相信 Linux 命令行是单调无聊且没有任何乐趣的人们,你们错了,这里有一些有关 Linux 的文章,它们展示着 Linux 是如何的有趣和“淘气” 。
在本文中,我将讨论一个名为“lolcat”的小工具 – 它可以在终端中生成彩虹般的颜色。
何为 lolcat ?
Lolcat 是一个针对 Linux,BSD 和 OSX 平台的工具,它类似于 cat 命令,并为 cat
- MongoDB索引管理(1)——[九]
eksliang
mongodbMongoDB管理索引
转载请出自出处:http://eksliang.iteye.com/blog/2178427 一、概述
数据库的索引与书籍的索引类似,有了索引就不需要翻转整本书。数据库的索引跟这个原理一样,首先在索引中找,在索引中找到条目以后,就可以直接跳转到目标文档的位置,从而使查询速度提高几个数据量级。
不使用索引的查询称
- Informatica参数及变量
18289753290
Informatica参数变量
下面是本人通俗的理解,如有不对之处,希望指正 info参数的设置:在info中用到的参数都在server的专门的配置文件中(最好以parma)结尾 下面的GLOBAl就是全局的,$开头的是系统级变量,$$开头的变量是自定义变量。如果是在session中或者mapping中用到的变量就是局部变量,那就把global换成对应的session或者mapping名字。
[GLOBAL] $Par
- python 解析unicode字符串为utf8编码字符串
酷的飞上天空
unicode
php返回的json字符串如果包含中文,则会被转换成\uxx格式的unicode编码字符串返回。
在浏览器中能正常识别这种编码,但是后台程序却不能识别,直接输出显示的是\uxx的字符,并未进行转码。
转换方式如下
>>> import json
>>> q = '{"text":"\u4
- Hibernate的总结
永夜-极光
Hibernate
1.hibernate的作用,简化对数据库的编码,使开发人员不必再与复杂的sql语句打交道
做项目大部分都需要用JAVA来链接数据库,比如你要做一个会员注册的 页面,那么 获取到用户填写的 基本信后,你要把这些基本信息存入数据库对应的表中,不用hibernate还有mybatis之类的框架,都不用的话就得用JDBC,也就是JAVA自己的,用这个东西你要写很多的代码,比如保存注册信
- SyntaxError: Non-UTF-8 code starting with '\xc4'
随便小屋
python
刚开始看一下Python语言,传说听强大的,但我感觉还是没Java强吧!
写Hello World的时候就遇到一个问题,在Eclipse中写的,代码如下
'''
Created on 2014年10月27日
@author: Logic
'''
print("Hello World!");
运行结果
SyntaxError: Non-UTF-8
- 学会敬酒礼仪 不做酒席菜鸟
aijuans
菜鸟
俗话说,酒是越喝越厚,但在酒桌上也有很多学问讲究,以下总结了一些酒桌上的你不得不注意的小细节。
细节一:领导相互喝完才轮到自己敬酒。敬酒一定要站起来,双手举杯。
细节二:可以多人敬一人,决不可一人敬多人,除非你是领导。
细节三:自己敬别人,如果不碰杯,自己喝多少可视乎情况而定,比如对方酒量,对方喝酒态度,切不可比对方喝得少,要知道是自己敬人。
细节四:自己敬别人,如果碰杯,一
- 《创新者的基因》读书笔记
aoyouzi
读书笔记《创新者的基因》
创新者的基因
创新者的“基因”,即最具创意的企业家具备的五种“发现技能”:联想,观察,实验,发问,建立人脉。
第一部分破坏性创新,从你开始
第一章破坏性创新者的基因
如何获得启示:
发现以下的因素起到了催化剂的作用:(1) -个挑战现状的问题;(2)对某项技术、某个公司或顾客的观察;(3) -次尝试新鲜事物的经验或实验;(4)与某人进行了一次交谈,为他点醒
- 表单验证技术
百合不是茶
JavaScriptDOM对象String对象事件
js最主要的功能就是验证表单,下面是我对表单验证的一些理解,贴出来与大家交流交流 ,数显我们要知道表单验证需要的技术点, String对象,事件,函数
一:String对象;通常是对字符串的操作;
1,String的属性;
字符串.length;表示该字符串的长度;
var str= "java"
- web.xml配置详解之context-param
bijian1013
javaservletweb.xmlcontext-param
一.格式定义:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>contextConfigLocationValue></param-value>
</context-param>
作用:该元
- Web系统常见编码漏洞(开发工程师知晓)
Bill_chen
sqlPHPWebfckeditor脚本
1.头号大敌:SQL Injection
原因:程序中对用户输入检查不严格,用户可以提交一段数据库查询代码,根据程序返回的结果,
获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
本质:
对于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。
示例:
String query = "SELECT id FROM users
- 【MongoDB学习笔记六】MongoDB修改器
bit1129
mongodb
本文首先介绍下MongoDB的基本的增删改查操作,然后,详细介绍MongoDB提供的修改器,以完成各种各样的文档更新操作 MongoDB的主要操作
show dbs 显示当前用户能看到哪些数据库
use foobar 将数据库切换到foobar
show collections 显示当前数据库有哪些集合
db.people.update,update不带参数,可
- 提高职业素养,做好人生规划
白糖_
人生
培训讲师是成都著名的企业培训讲师,他在讲课中提出的一些观点很新颖,在此我收录了一些分享一下。注:讲师的观点不代表本人的观点,这些东西大家自己揣摩。
1、什么是职业规划:职业规划并不完全代表你到什么阶段要当什么官要拿多少钱,这些都只是梦想。职业规划是清楚的认识自己现在缺什么,这个阶段该学习什么,下个阶段缺什么,又应该怎么去规划学习,这样才算是规划。
- 国外的网站你都到哪边看?
bozch
技术网站国外
学习软件开发技术,如果没有什么英文基础,最好还是看国内的一些技术网站,例如:开源OSchina,csdn,iteye,51cto等等。
个人感觉如果英语基础能力不错的话,可以浏览国外的网站来进行软件技术基础的学习,例如java开发中常用的到的网站有apache.org 里面有apache的很多Projects,springframework.org是spring相关的项目网站,还有几个感觉不错的
- 编程之美-光影切割问题
bylijinnan
编程之美
package a;
public class DisorderCount {
/**《编程之美》“光影切割问题”
* 主要是两个问题:
* 1.数学公式(设定没有三条以上的直线交于同一点):
* 两条直线最多一个交点,将平面分成了4个区域;
* 三条直线最多三个交点,将平面分成了7个区域;
* 可以推出:N条直线 M个交点,区域数为N+M+1。
- 关于Web跨站执行脚本概念
chenbowen00
Web安全跨站执行脚本
跨站脚本攻击(XSS)是web应用程序中最危险和最常见的安全漏洞之一。安全研究人员发现这个漏洞在最受欢迎的网站,包括谷歌、Facebook、亚马逊、PayPal,和许多其他网站。如果你看看bug赏金计划,大多数报告的问题属于 XSS。为了防止跨站脚本攻击,浏览器也有自己的过滤器,但安全研究人员总是想方设法绕过这些过滤器。这个漏洞是通常用于执行cookie窃取、恶意软件传播,会话劫持,恶意重定向。在
- [开源项目与投资]投资开源项目之前需要统计该项目已有的用户数
comsci
开源项目
现在国内和国外,特别是美国那边,突然出现很多开源项目,但是这些项目的用户有多少,有多少忠诚的粉丝,对于投资者来讲,完全是一个未知数,那么要投资开源项目,我们投资者必须准确无误的知道该项目的全部情况,包括项目发起人的情况,项目的维持时间..项目的技术水平,项目的参与者的势力,项目投入产出的效益.....
- oracle alert log file(告警日志文件)
daizj
oracle告警日志文件alert log file
The alert log is a chronological log of messages and errors, and includes the following items:
All internal errors (ORA-00600), block corruption errors (ORA-01578), and deadlock errors (ORA-00060)
- 关于 CAS SSO 文章声明
denger
SSO
由于几年前写了几篇 CAS 系列的文章,之后陆续有人参照文章去实现,可都遇到了各种问题,同时经常或多或少的收到不少人的求助。现在这时特此说明几点:
1. 那些文章发表于好几年前了,CAS 已经更新几个很多版本了,由于近年已经没有做该领域方面的事情,所有文章也没有持续更新。
2. 文章只是提供思路,尽管 CAS 版本已经发生变化,但原理和流程仍然一致。最重要的是明白原理,然后
- 初二上学期难记单词
dcj3sjt126com
englishword
lesson 课
traffic 交通
matter 要紧;事物
happy 快乐的,幸福的
second 第二的
idea 主意;想法;意见
mean 意味着
important 重要的,重大的
never 从来,决不
afraid 害怕 的
fifth 第五的
hometown 故乡,家乡
discuss 讨论;议论
east 东方的
agree 同意;赞成
bo
- uicollectionview 纯代码布局, 添加头部视图
dcj3sjt126com
Collection
#import <UIKit/UIKit.h>
@interface myHeadView : UICollectionReusableView
{
UILabel *TitleLable;
}
-(void)setTextTitle;
@end
#import "myHeadView.h"
@implementation m
- N 位随机数字串的 JAVA 生成实现
FX夜归人
javaMath随机数Random
/**
* 功能描述 随机数工具类<br />
* @author FengXueYeGuiRen
* 创建时间 2014-7-25<br />
*/
public class RandomUtil {
// 随机数生成器
private static java.util.Random random = new java.util.R
- Ehcache(09)——缓存Web页面
234390216
ehcache页面缓存
页面缓存
目录
1 SimplePageCachingFilter
1.1 calculateKey
1.2 可配置的初始化参数
1.2.1 cach
- spring中少用的注解@primary解析
jackyrong
primary
这次看下spring中少见的注解@primary注解,例子
@Component
public class MetalSinger implements Singer{
@Override
public String sing(String lyrics) {
return "I am singing with DIO voice
- Java几款性能分析工具的对比
lbwahoo
java
Java几款性能分析工具的对比
摘自:http://my.oschina.net/liux/blog/51800
在给客户的应用程序维护的过程中,我注意到在高负载下的一些性能问题。理论上,增加对应用程序的负载会使性能等比率的下降。然而,我认为性能下降的比率远远高于负载的增加。我也发现,性能可以通过改变应用程序的逻辑来提升,甚至达到极限。为了更详细的了解这一点,我们需要做一些性能
- JVM参数配置大全
nickys
jvm应用服务器
JVM参数配置大全
/usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -
- 搭建 CentOS 6 服务器(14) - squid、Varnish
rensanning
varnish
(一)squid
安装
# yum install httpd-tools -y
# htpasswd -c -b /etc/squid/passwords squiduser 123456
# yum install squid -y
设置
# cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
# vi /etc/
- Spring缓存注解@Cache使用
tom_seed
spring
参考资料
http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/
http://swiftlet.net/archives/774
缓存注解有以下三个:
@Cacheable @CacheEvict @CachePut
- dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误
xp9802
java.lang.NoClassDefFoundError: org/jaxen/JaxenExc
关键字: java.lang.noclassdeffounderror: org/jaxen/jaxenexception
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式
执行时却抛出以下异常:
Exceptio