- ubuntu18.04 dpdk pktgen 环境安装 - 记一次成功的编译
pass_but_fail
linuxtoollinuxubuntu负载均衡运维
…参考文章:https://www.itread01.com/content/1542834364.html…dpdk和pktgen都在不断的更新中,版本稍微对不上,就会各种坑使用的版本dpdk-stable-17.05.2.tar.xzpktgen-3.4.5.tar.xz更新–2020-9-1709:37:42我的环境使用pktgen-3.5.0.tar.xz可以直接build成功,没有遇到3
- DPDK在网络中的应用
木木夕木目心.HDS
DPDKlinux
1.流量发生器流量发生器是测量网络性能的重要工具,基于硬件的流量发生器通常价格高昂,并且无法灵活适用于各种网络场景,现存的一些基于软件实现的流量发生器又难以达到全线速要求,特别对短帧的处理性能严重受限。基于DPDK框架实现的流量发生器将数据包的产生过程全部交由用户管理,保证了报文生成的灵活性,系统的高速性的同时也降低了成本。DPDK-Pktgen是一个高速生成与测试网络数据报文的软件,利用了DPD
- pktgen-dpdk arm编译问题 “Platform must be built with RTE_FORCE_INTRINSICS“
秋千无闻
实时互动
编译报错/usr/include/rte_atomic_32.h:9:4:error:#errorPlatformmustbebuiltwithRTE_FORCE_INTRINSICS解决办法:我是在arm架构服务器上编译出现这个,要定义RTE_FORCE_INTRINSICS在meson.build中增加gcc编译参数add_project_arguments('-DRTE_FORCE_INTR
- Pktgen-DPDK 网络性能测试
lingshengxiyou
linuxDPDKc++网络开发语言linux虚拟机windows
在未使用该工具之前,一直使用的是iperf在10G网卡场景下进行64字节小包性能测试。若要将64字节小包流量发到限速,要么一直增加iperf客户端,或者在一个高配iperf客户端虚拟机中不断的增加iperf进程。即使是这样,将发包达到网卡上限,却依然无法利用好6wind的性能。所以考虑使用DPDK-pktgen发包工具。该工具基于DPDK快速报文处里框架开发,以内核模块的形式存在于系统。一、环境部
- dpdk运行及多进程运行,相关问题解决,pktgen, tcpdump应用
Oliver-琢磨咚咚
dpdkdpdkdpdk运行dpdk多进程运行tcpdumppktgen
ifconfig-a问题:解决是缺sudowlw@ubuntu:~/dpdk/dpdk-stable-18.02.2/usertools$./../examples/helloworld/build/helloworldrte_virtio_pmd_init():IOPLcallfailed-cannotusevirtioPMDEAL:Detected40lcore(s)EAL:Nofreehug
- intel X520-DA2的pktgen-dpdk测试结果
严炎2016
两台服务器,各一张双口的intelX520-DA2网卡也就是A或B服务器上的网卡,有网口1和网口2A服务器网口1-----B服务器网口1A服务器网口2-----B服务器网口2A服务器的网口mac90:e2:ba:88:35:4090:e2:ba:88:35:41B服务器的网口mac90:e2:ba:88:3f:6c90:e2:ba:88:3f:6d测试脚本root@ubuntu-1:~#catst
- pc上最快的发包工具
kingmax26
转贴
昨天做了个实验,测试了三种发包方式所能达到的最快速度。测试平台是一台双至强、1G内存的服务器,操作系统为Linux,内核版本2.6.15.3,网卡为Intele1000光口网卡。使用一台smartbit来记录发包速度。所使用的三种方法分别是:tcpreplay:常用的发包软件,可以重发tcpdump所捕获的报文。pktgen:linux内核自带的发包工具。修改的e1000驱动:在驱动里直接写网卡的
- Pktgen简要使用说明
哈希兔子
dpdklinux
上一篇通过在虚拟机中安装dpdk和pktgen,基本已经有了一个可以测试的环境,今天主要验证pktgen的-s选项,通过pcap格式的数据文件来构造pktgen端口发送的数据,这个功能实在是太有效果了,可惜的是家里的环境没有那么多网卡,没办法捕获到pktgen端口发出的消息,否则看起来会更加直观。在贴图之前,先简要记录一些pktgen使用的一些参数和命令,便于日后参考:启动参数:首先要明确一个地方
- pktgen编译问题
sun_li3
dpdk
pktgen不再放在dpdk的源码包中,最为单独的应用列出来开发,因此pktgen不同的版本,根本不知道需要哪个版本的dpdk才能正确编译;-------------error1---dpdk19.08.0-rc0----------------------------------pktgen-3.7.0]#make==lib==commonCC_strings.orte_strtrimsetis
- Pktgen的一些总结
SinceY2015
操作系统基础
因为要进行性能测试,但是在进行过程中发现当包足够小,发送速率(pps)达到一定程度的时候,是无法再提高包的发送速率的。因此,就有人推荐使用pktgen来进行尝试。通过搜索发现,这个东西有两种形式,一种是直接由linux系统自带的内核模块进行发包(也就是略过协议栈,直接控制发包),另一种是依赖于dpdk的pktgen,需要进行比较复杂的编译(它的编译比较复杂,至今我都没找到centos6对应的补丁从
- pktgen的使用
RichardYSteven
LinuxkernelNetworkInternalLinuxkernelmodule
文档:Documentation/networking/pktgen.txt有人测试的例子:http://kerrigan.sinaapp.com/post-8.htmlhttp://people.kth.se/~danieltt/pktgen/基本使用1.编译pktgen模块选中configNET_PKTGEN2.安装pktgen模块modprobepktgencd/proc/net/pktge
- Pktgen 运行脚本文件
青霉菌
pktgen-dpdk
Pktgen运行脚本文件pktgen可以读取并运行脚本文件来进行默认配置或修改配置在命令行选项加上-f脚本可以是.pkt文件,pkt文件主要是前面介绍的命令组成的脚本可以是.lua文件,也是由相同的命令和选项组成,只是用的lua语法下面有个运行脚本文件的例子:pktgen-l0-4-n3--proc-typeauto--socket-mem128,128--\-P-m"[1:3].0,[2:4].
- pktgen安装的一些坑
dadaobusi
pktgen
最近在搞dpdk,pktgen,testpmd等;dpdk还算顺利,编译成功了dpdk的版本是17年的;pktgen下载了个最新的19.10的版本,提示错误;把缺少的都安装了,还是提示错误;上网查了一下,很多人也是在lua这里遇到问题了;尝试安装了lua5.3的库,编译虽然通过了,但是连接时还是有问题;下载了一些低版本的pktgen的包,也是有很多其他的错误;继续努力,如果编译过了,再更新;安装了
- Pktgen CLI样例程序
青霉菌
pktgen-dpdk
PktgenCLI样例程序之前介绍了pktgen的命令使用,已经pktgen命令的组织,即目录的组织结构,具体是怎么实现的,后期再看代码目前,我们怎么在这个目录结构中,添加自己的命令呢?这就是Pktgen的CLIcommandlineinterface命令行接口这节介绍pktgen的命令行接口,以及与CLI相关的概念,和CLI的一个样例程序CLI是commandlineinterface的简写CL
- pktgen 运行时选项和命令
青霉菌
pktgen-dpdk
pktgen运行时选项和命令运行pktgen后出现Pktgen:/>就像shell一样,可以输入命令,设置,显示PktgencommandlinedirectoryformatPktgen支持的命令以目录的结构进行组织Pktgen:/>lsPktgen:/>cd都是可以的这些命令具体怎么用可以先help一下Pktgen:/>help跟着help介绍这些命令吧,其实都很简单,那就简单过一下,看看有哪
- Pktgen 命令行参数
青霉菌
pktgen-dpdk
Pktgen命令行参数ThePktgencommandlineusageis:./app/app/``$(target}``/pktgen[EALoptions]--\[-h][-P][-G][-T][-fcmd_file]\[-llog_file][-sP:PCAP_file][-m]Usage:./app/app/x86_64-dnet-linuxapp-gcc/pktgen[EALoptio
- 运行Pktgen
青霉菌
pktgen-dpdk
运行Pktgen之前我们是通过run.py来配置运行了pktgen,现在我们来手动在命令行运行一下,自己找到自己编译后的pktgen./app/app/build/pktgen-l0-4-n3---P-m"[1:3].0,[2:4].1"果断不行EAL:pthread_setaffinity_npfailedPANICineal_thread_loop():cannotsetaffinityEAL
- Pktgen入门
青霉菌
pktgen-dpdk
Pktgen入门这一节介绍如何编译运行pktgen,运行环境是ubuntu,需要检查系统是否支持大页内存本人使用的时centos7总结一点:其实只要能编译运行dpdk后,就能直接编译运行pktgen了。pktgen本来就是基于dpdk开发的就是一个dpdk的应用程序,把它想成dpdk的helloworld就行系统要求请参考DPDK入门指南的系统要求其实也没啥要求的。搞一台台式机,随便安装个linu
- EAL 命令行选项
青霉菌
pktgen-dpdkpktgen
EAL命令行选项TheusualEALcommandlineusageforpktgenis:pktgen-cCOREMASK-nNUM\[-mNB]\[-rNUM]\[-b]\[--proc-typeprimary|secondary|auto]--[pktgenoptions]EALoptions:-cCOREMASK:Ahexadecimalbitmaskofcorestorunon-nNU
- 网卡调优
vector_s
linux系统开发
引用网络测试工具Perf--Linux下的系统性能调优工具,第1部分pktgen自动化测试网卡速率和包率pktgen使用详细教程Linux性能优化-网络性能优化思路高并发、大流量网卡调优密集负载下的网卡中断负载均衡smpaffinity及单队列RPSSDN-网卡性能调优Howtoreceiveamillionpacketspersecond[Linux性能调优]网卡中断与CPU的绑定问题网卡性能调
- pktgen.conf
linranguo
网络通信
#!/bin/sh#FileName:pktgen-eth5-eth6.conf#modprobepktgenfunctionpgset(){localresultecho$1>$PGDEVresult=`cat$PGDEV|fgrep"Result:OK:"`if["$result"=""];thencat$PGDEV|fgrepResult:fi}functionpg(){echoinject
- DPDK的中testpmd和pktgen的使用
无感007
./testpmd-l0-1-n1--file-prefix=test--no-pci--vdev'net_virtio_user2,mac=00:00:00:00:00:02,path=/var/run/openvswitch/vhost-user2'---i--forward-mode=io--auto-start./testpmd-l0-1-n1--vdev'eth_vhost0,iface
- DPDK Pktgen+Docker搭建VNF环境及验证
心似白云
dockerdpdk研究
作者简介:文殊博,北京邮电大学未来网络理论与应用实验室(FNL)研究生一、简介及参考文献本文主要是搭建一个基于DPDK的VNF开发实验环境,利用docker和vhost-user摆脱DPDK的硬件约束,方便在一台机器上进行VNF的开发和测试。但是,DPDK的PMD对不同网卡的特性支持差异很大,所以不能完全以这种环境下的运行结果为准。接下来会先介绍环境的配置过程然后搭建一个简单的拓扑,最后会对DPD
- 2015,不要再让自己失望
Ju5t1n
其实想换工作已经有段时间了,总觉得这里不对那里不对,不管是对自己,对环境,对旁人,总觉得哪里没对,少了点什么。到现在也没有想明白。难以推广的新工具docker自从发现了docker,就觉得像发现了一块新大陆,至少docker的出现能够解决以前80%以上难题。可是,没有人愿意使用新工具,没有人愿意学习新技术,宁愿把那些难题留在那里。pktgen这货也是个不可多得的好东西,一旦配置好之后,甚至能够达到
- DPDK-pktgen在虚拟机上安装
wwrict
DPDK
【开场白】又一枚妹子入坑DPDK,希望大家一起从小白变小黑呀...【正文】【环境】:虚拟机VMware12proDPDK-16.04pktgen-3.3.0【准备工作】1.本人之前已经编译安装过DPDK,基本环境具备2.pktgen源码下载:http://dpdk.org/download下载方式有很多,版本也有很多。(吐槽:亲测参照其他博客下了2.7.7版本,真心不好用....整了好几天都没整明
- dpdk-pktgen安装总结
~~️
笔记
dpdk及pktgen的安装下载并解压安装包因为版本匹配问题以下用dpdk-17.02.1及pktgen-3.2.8示例,坑多,请到官方网站下载1.设置环境变量exportRTE_SDK=/root/dpdk-stable-17.02.1exportRTE_TARGET=x8664-Linuxapp2.下载dpdk依赖包libpcap及libpcap-develyuminstalllua-yyum
- Pktgen-DPDK使用说明
jhxifeng
工具安装
Pktgen-DPDK使用说明安装配置获取源码#cd#exporthttps_proxy=https://proxy.austin.hp.com:8080#gitclonehttps://github.com/pktgen/Pktgen-DPDK.gitUbuntu14.04,pktgen2.7.7,DPDK1.7.1注:Pktgen-DPDK/dpdk/example目录中包含有pktgen源码
- DPDK、pktgen测试实例
Sword1996
DPDK
一、网络拓扑其中主机A与主机B都为双网卡塔式主机服务器,通过一根网线直连。(主机B的网关为主机A的IP)二、l2fwd测试1.设置环境变量exportRTE_SDK=/home/sword/dpdk-17.08exportRTE_TARGET=x86_64-native-linuxapp-gcc2.通过自带脚本编译DPDK配置大页内存为:1024绑定单张网卡,即与主机A网线直连的网卡./dpdk-
- DPDK-Pktgen的使用
GeraldJones
DPDK
pktgen(收发包工具)本博文主要介绍DPDK测试过程中常用pktgen工具的使用教程和常用命令打开pktgen[root@localhost~]#cd/root/DPDK/dpdk_src/pktgen-3.7.2/[
[email protected]]#lsappdnet-echolibmeson_options.txtPktgen.luatestcfgdocsLICENS
- pktgen+dpdk使用总结
懒少
dpdk
有时间自己总结一下pktgen+dpdkhttp://pktgen-dpdk.readthedocs.io/en/latest/getting_started.html这里面讲了怎么安装,怎么启动,命令参数等,简单实用文件:dpdk-16.11.1.tarpktgen-3.1.2.tar安装:1、先编译DPDK库cd/usr/src/dpdk-stable-16.11.1exportRTE_SDK
- java观察者模式
3213213333332132
java设计模式游戏观察者模式
观察者模式——顾名思义,就是一个对象观察另一个对象,当被观察的对象发生变化时,观察者也会跟着变化。
在日常中,我们配java环境变量时,设置一个JAVAHOME变量,这就是被观察者,使用了JAVAHOME变量的对象都是观察者,一旦JAVAHOME的路径改动,其他的也会跟着改动。
这样的例子很多,我想用小时候玩的老鹰捉小鸡游戏来简单的描绘观察者模式。
老鹰会变成观察者,母鸡和小鸡是
- TFS RESTful API 模拟上传测试
ronin47
TFS RESTful API 模拟上传测试。
细节参看这里:https://github.com/alibaba/nginx-tfs/blob/master/TFS_RESTful_API.markdown
模拟POST上传一个图片:
curl --data-binary @/opt/tfs.png http
- PHP常用设计模式单例, 工厂, 观察者, 责任链, 装饰, 策略,适配,桥接模式
dcj3sjt126com
设计模式PHP
// 多态, 在JAVA中是这样用的, 其实在PHP当中可以自然消除, 因为参数是动态的, 你传什么过来都可以, 不限制类型, 直接调用类的方法
abstract class Tiger {
public abstract function climb();
}
class XTiger extends Tiger {
public function climb()
- hibernate
171815164
Hibernate
main,save
Configuration conf =new Configuration().configure();
SessionFactory sf=conf.buildSessionFactory();
Session sess=sf.openSession();
Transaction tx=sess.beginTransaction();
News a=new
- Ant实例分析
g21121
ant
下面是一个Ant构建文件的实例,通过这个实例我们可以很清楚的理顺构建一个项目的顺序及依赖关系,从而编写出更加合理的构建文件。
下面是build.xml的代码:
<?xml version="1
- [简单]工作记录_接口返回405原因
53873039oycg
工作
最近调接口时候一直报错,错误信息是:
responseCode:405
responseMsg:Method Not Allowed
接口请求方式Post.
- 关于java.lang.ClassNotFoundException 和 java.lang.NoClassDefFoundError 的区别
程序员是怎么炼成的
真正完成类的加载工作是通过调用 defineClass来实现的;
而启动类的加载过程是通过调用 loadClass来实现的;
就是类加载器分为加载和定义
protected Class<?> findClass(String name) throws ClassNotFoundExcept
- JDBC学习笔记-JDBC详细的操作流程
aijuans
jdbc
所有的JDBC应用程序都具有下面的基本流程: 1、加载数据库驱动并建立到数据库的连接。 2、执行SQL语句。 3、处理结果。 4、从数据库断开连接释放资源。
下面我们就来仔细看一看每一个步骤:
其实按照上面所说每个阶段都可得单独拿出来写成一个独立的类方法文件。共别的应用来调用。
1、加载数据库驱动并建立到数据库的连接:
Html代码
St
- rome创建rss
antonyup_2006
tomcatcmsxmlstrutsOpera
引用
1.RSS标准
RSS标准比较混乱,主要有以下3个系列
RSS 0.9x / 2.0 : RSS技术诞生于1999年的网景公司(Netscape),其发布了一个0.9版本的规范。2001年,RSS技术标准的发展工作被Userland Software公司的戴夫 温那(Dave Winer)所接手。陆续发布了0.9x的系列版本。当W3C小组发布RSS 1.0后,Dave W
- html表格和表单基础
百合不是茶
html表格表单meta锚点
第一次用html来写东西,感觉压力山大,每次看见别人发的都是比较牛逼的 再看看自己什么都还不会,
html是一种标记语言,其实很简单都是固定的格式
_----------------------------------------表格和表单
表格是html的重要组成部分,表格用在body里面的
主要用法如下;
<table>
&
- ibatis如何传入完整的sql语句
bijian1013
javasqlibatis
ibatis如何传入完整的sql语句?进一步说,String str ="select * from test_table",我想把str传入ibatis中执行,是传递整条sql语句。
解决办法:
<
- 精通Oracle10编程SQL(14)开发动态SQL
bijian1013
oracle数据库plsql
/*
*开发动态SQL
*/
--使用EXECUTE IMMEDIATE处理DDL操作
CREATE OR REPLACE PROCEDURE drop_table(table_name varchar2)
is
sql_statement varchar2(100);
begin
sql_statement:='DROP TABLE '||table_name;
- 【Linux命令】Linux工作中常用命令
bit1129
linux命令
不断的总结工作中常用的Linux命令
1.查看端口被哪个进程占用
通过这个命令可以得到占用8085端口的进程号,然后通过ps -ef|grep 进程号得到进程的详细信息
netstat -anp | grep 8085
察看进程ID对应的进程占用的端口号
netstat -anp | grep 进程ID
&
- 优秀网站和文档收集
白糖_
网站
集成 Flex, Spring, Hibernate 构建应用程序
性能测试工具-JMeter
Hmtl5-IOCN网站
Oracle精简版教程网站
鸟哥的linux私房菜
Jetty中文文档
50个jquery必备代码片段
swfobject.js检测flash版本号工具
- angular.extend
boyitech
AngularJSangular.extendAngularJS API
angular.extend 复制src对象中的属性去dst对象中. 支持多个src对象. 如果你不想改变一个对象,你可以把dst设为空对象{}: var object = angular.extend({}, object1, object2). 注意: angular.extend不支持递归复制. 使用方法: angular.extend(dst, src); 参数:
- java-谷歌面试题-设计方便提取中数的数据结构
bylijinnan
java
网上找了一下这道题的解答,但都是提供思路,没有提供具体实现。其中使用大小堆这个思路看似简单,但实现起来要考虑很多。
以下分别用排序数组和大小堆来实现。
使用大小堆:
import java.util.Arrays;
public class MedianInHeap {
/**
* 题目:设计方便提取中数的数据结构
* 设计一个数据结构,其中包含两个函数,1.插
- ajaxFileUpload 针对 ie jquery 1.7+不能使用问题修复版本
Chen.H
ajaxFileUploadie6ie7ie8ie9
jQuery.extend({
handleError: function( s, xhr, status, e ) {
// If a local callback was specified, fire it
if ( s.error ) {
s.error.call( s.context || s, xhr, status, e );
}
- [机器人制造原则]机器人的电池和存储器必须可以替换
comsci
制造
机器人的身体随时随地可能被外来力量所破坏,但是如果机器人的存储器和电池可以更换,那么这个机器人的思维和记忆力就可以保存下来,即使身体受到伤害,在把存储器取下来安装到一个新的身体上之后,原有的性格和能力都可以继续维持.....
另外,如果一
- Oracle Multitable INSERT 的用法
daizj
oracle
转载Oracle笔记-Multitable INSERT 的用法
http://blog.chinaunix.net/uid-8504518-id-3310531.html
一、Insert基础用法
语法:
Insert Into 表名 (字段1,字段2,字段3...)
Values (值1,
- 专访黑客历史学家George Dyson
datamachine
on
20世纪最具威力的两项发明——核弹和计算机出自同一时代、同一群年青人。可是,与大名鼎鼎的曼哈顿计划(第二次世界大战中美国原子弹研究计划)相 比,计算机的起源显得默默无闻。出身计算机世家的历史学家George Dyson在其新书《图灵大教堂》(Turing’s Cathedral)中讲述了阿兰·图灵、约翰·冯·诺依曼等一帮子天才小子创造计算机及预见计算机未来
- 小学6年级英语单词背诵第一课
dcj3sjt126com
englishword
always 总是
rice 水稻,米饭
before 在...之前
live 生活,居住
usual 通常的
early 早的
begin 开始
month 月份
year 年
last 最后的
east 东方的
high 高的
far 远的
window 窗户
world 世界
than 比...更
- 在线IT教育和在线IT高端教育
dcj3sjt126com
教育
codecademy
http://www.codecademy.com codeschool
https://www.codeschool.com teamtreehouse
http://teamtreehouse.com lynda
http://www.lynda.com/ Coursera
https://www.coursera.
- Struts2 xml校验框架所定义的校验文件
蕃薯耀
Struts2 xml校验Struts2 xml校验框架Struts2校验
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月11日 15:54:59 星期六
http://fa
- mac下安装rar和unrar命令
hanqunfeng
mac
1.下载:http://www.rarlab.com/download.htm 选择
RAR 5.21 for Mac OS X 2.解压下载后的文件 tar -zxvf rarosx-5.2.1.tar 3.cd rar sudo install -c -o $USER unrar /bin #输入当前用户登录密码 sudo install -c -o $USER rar
- 三种将list转换为map的方法
jackyrong
list
在本文中,介绍三种将list转换为map的方法:
1) 传统方法
假设有某个类如下
class Movie {
private Integer rank;
private String description;
public Movie(Integer rank, String des
- 年轻程序员需要学习的5大经验
lampcy
工作PHP程序员
在过去的7年半时间里,我带过的软件实习生超过一打,也看到过数以百计的学生和毕业生的档案。我发现很多事情他们都需要学习。或许你会说,我说的不就是某种特定的技术、算法、数学,或者其他特定形式的知识吗?没错,这的确是需要学习的,但却并不是最重要的事情。他们需要学习的最重要的东西是“自我规范”。这些规范就是:尽可能地写出最简洁的代码;如果代码后期会因为改动而变得凌乱不堪就得重构;尽量删除没用的代码,并添加
- 评“女孩遭野蛮引产致终身不育 60万赔偿款1分未得”医腐深入骨髓
nannan408
先来看南方网的一则报道:
再正常不过的结婚、生子,对于29岁的郑畅来说,却是一个永远也无法实现的梦想。从2010年到2015年,从24岁到29岁,一张张新旧不一的诊断书记录了她病情的同时,也清晰地记下了她人生的悲哀。
粗暴手术让人发寒
2010年7月,在酒店做服务员的郑畅发现自己怀孕了,可男朋友却联系不上。在没有和家人商量的情况下,她决定堕胎。
12月5日,
- 使用jQuery为input输入框绑定回车键事件 VS 为a标签绑定click事件
Everyday都不同
jspinput回车键绑定clickenter
假设如题所示的事件为同一个,必须先把该js函数抽离出来,该函数定义了监听的处理:
function search() {
//监听函数略......
}
为input框绑定回车事件,当用户在文本框中输入搜索关键字时,按回车键,即可触发search():
//回车绑定
$(".search").keydown(fun
- EXT学习记录
tntxia
ext
1. 准备
(1) 官网:http://www.sencha.com/
里面有源代码和API文档下载。
EXT的域名已经从www.extjs.com改成了www.sencha.com ,但extjs这个域名会自动转到sencha上。
(2)帮助文档:
想要查看EXT的官方文档的话,可以去这里h
- mybatis3的mapper文件报Referenced file contains errors
xingguangsixian
mybatis
最近使用mybatis.3.1.0时无意中碰到一个问题:
The errors below were detected when validating the file "mybatis-3-mapper.dtd" via the file "account-mapper.xml". In most cases these errors can be d