- RK3128增加usb调试模式,开放adb和root权限
站在巨人肩膀上的码农
RK3128安卓驱动开发c语言hostmodedevicemodeadb
前言USBOTG的模式一般在调试usb的时候,都有一个小常识,就是切换到host模式时,U盘就能正常使用,而切换到device模式时,U盘则不能使用了,而是板子和电脑可以连接adb进行调试,像常用的adbpush和adbpull操作。需求修改目前的需求是需要增加usb调试功能,开发adb和root权限,以方便调试连接,而这需要涉及到frameworks层和kernel层的修改。修改如下:1、fra
- linux -bash: fork: Cannot allocate memory解决办法
肖二狗
linuxbashlinux运维
linux-bash:fork:Cannotallocatememory执行命令显示:-bash:fork:Cannotallocatememory排查发现原因:系统的pid_max不够用了echo1493909>/proc/sys/kernel/pid_max执行命令后,系统正常
- Xshell登录服务器提示:-bash: fork: Cannot allocate memory
779醒
Linux云服务器
问题描述:Xshell登录服务器提示:-bash:fork:Cannotallocatememory输入free#查看内存使用情况查看最大进程数sysctlkernel.pid_max#查看最大进程数ps-eLf|wc-l查看进程数问题原因:内存已经占满AWS服务器内存不足,添加虚拟内存
- sam9x60 uart 中断列表
洪大宇
java前端linux
节选自邮件列表Allthemailmirroredfromlore.kernel.orghelp/color/mirror/Atomfeed[PATCHv30/2]updateat91usartcompatibleforsam9x60@2023-07-186:57`DuraiManickamKR0siblings,0replies;11+messagesinthreadFrom:DuraiMani
- RK系列(RK3568) GPIO按键驱动 和Android key新值添加
hmbbPdx_
RK驱动开发Rk开发(RK3568)android驱动开发linux
平台:Android12SOC:RK3568kernel:Linux-4.19首先按键驱动那块不用我们自己写,内核本身有支持可以查看kernel-4.19-driver/input/keyboard/gpio_keys.c我们先描述好设备树添加GPIO4-A0的按键gpio-keys{compatible="gpio-keys";#address-cells=;#size-cells=;autor
- 九、buildroot系统 usb配置
3.3、usb配置源码中kernel默认已经打开了相关的usb配置,只需要在buildroot中打开相关配置。1、基本功能类别简称功能描述ADB(AndroidDebugBridge)ADB是一种功能多样的命令行调试工具,可以实现文件传输,UnixShell登录等功能。UAC(USBAudioClass)UAC通过USB虚拟标准PCM接口给Host设备,实现Device和Host之间音频互传功能。
- 深入浅出:KVM虚拟机连接LinuxBridge完全指南
来自于狂人
云计算
在虚拟化的世界里,网络连接如同现实世界的道路系统,而LinuxBridge就是那座关键的桥梁。本文将带你亲手搭建这座桥梁,让KVM虚拟机畅通无阻。一、核心概念:理解虚拟化网络的基石在动手配置前,我们需要理解几个关键概念:KVM(Kernel-basedVirtualMachine)基于Linux内核的完全虚拟化解决方案通过/dev/kvm接口直接使用硬件虚拟化扩展典型工具栈:libvirt+QEM
- 内存泄漏系列专题分析之二十二:句柄/文件描述符fd泄漏实例分析
一起搞IT吧
内存泄漏和内存占用拆解系列专题相机图像处理android
【关注我,后续持续新增专题博文,谢谢!!!】上一篇我们讲了:这一篇我们开始讲:内存泄漏系列专题分析之二十二:句柄/文件描述符fd泄漏实例分析目录一、背景二、:句柄fd文件描述符内存泄漏分析思路2.1:闭源库libcvp2.socrash分析Camxhal异常日志2.2:内存分配失败,接着看kernelKMD日志2.3:crash的根因是拿不到fd2.4:分析getfdfail2.5:重新复现并分析
- Miniconda+Jupyter+PyCharm初始环境配置
Miniconda+Jupyter+PyCharm初始环境配置与使用指南一、为什么用Miniconda,而不是Anaconda?二、Miniconda基础环境配置步骤1.下载Miniconda2.安装与配置路径(以Linux/macOS为例)3.切换清华源(加快加载包的速度)三、JupyterNotebooks安装与配置(base环境+kernel切换)推荐安装策略:**把Jupyter安装在ba
- CUDA编程:优化GPU并行处理与内存管理
Omoo
CUDAGPU并行处理线程协作内存管理硬件限制
背景简介CUDA是NVIDIA推出的一种通用并行计算架构,它利用GPU的强大计算能力来解决复杂的计算问题。在本书的第12章中,我们深入探讨了CUDA编程的关键概念,包括线程间的协作、内存分配与管理以及如何应对硬件限制。CUDA中的线程协作与内存管理在GPU上进行编程时,我们需要处理内存分配、数据传输以及内核(kernel)的调用等任务。CUDA提供了一系列的API来帮助开发者管理这些资源。在提供的
- 华为Ascend C算子开发(中级)考试
weixin_52406641
华为c语言开发语言
华为AscendC算子开发(中级)考试题提示:这个是河北廊坊AscendC算子开发考试题和答案,仅供参考,因为不确定其他城市的考试题是否也是一样文章目录华为AscendC算子开发(中级)考试题一、op_host文件夹下的sinh_custom_tiling.h文件二、op_host文件夹下的sinh_custom.cpp文件三、op_kernel文件夹下的sinh_custom.cpp文件一、op
- 未来Linux Kernel 会不会用Rust 重写?
旷野..
linuxrust运维
首先来看第一个问题:LinuxKernel会用Rust重写吗?LinuxKernel用Rust替代C,听起来像是让“大象”学会跳芭蕾舞。毕竟,LinuxKernel已经用了几十年,而且这个系统已经以C语言为基石,层层叠加、极其复杂。那么,Rust真的有这个能力推翻C的统治吗?答案是:不完全重写,但是会有部分功能开始采用Rust。最近,LinusTorvalds也曾公开表示,对Rust在LinuxK
- [置顶] libtool: link: cannot find the library `/usr/lib/libuuid.la' 找不到
许一沐
libuuidispartoftheutil-linux-ngpackagesinceversion2.15.1andisavailablefromftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/util-linux-2.21.1.tar.gz编译安装httpd2.2.24时出现libtool:link:cannotfindthelibr
- RK3568---kernel驱动整理汇总(二)
文艺小少年
RK3568及AI项目实践驱动linuxusbpci内核
目录一、引言二、基础通讯接口------>2.1、PCI------------>2.1.1、pci驱动------------>2.1.2、MDIO总线------>2.2、WATCHDOG------------>2.2.1、层次------------>2.2.2、使用流程------------>2.2.3、驱动------>2.3、USB------------>2.3.1、通讯模式(H
- RK3568实战项目(七)--kernel部分
文艺小少年
RK3568及AI项目实践kernel
目录一、引言二、kernel开发------>2.1、kernel原码编译------>2.2、电源域确认------>2.3、保存配置------>2.4、编译产物------>2.5、烧录------>2.6、单独编译内核模块------>2.7、设备树文件介绍------>2.8、替换logo------>2.9、内核模块开发文档汇总三、镜像格式------3.1、resource.img-
- RK3568---kernel驱动整理汇总(一)
文艺小少年
RK3568及AI项目实践单片机嵌入式硬件驱动中断pinctrl
目录一、引言二、基础通讯接口------>2.1、输入子系统------------>2.1.1、核心结构体------------>2.1.2、qt2160驱动------------>2.1.3、查看输入设备------------>2.1.4、用户空间接口------>2.2、pinctrl/GPIO------------>2.2.1、pinctrl的概念------------>2.2.
- linux-kernel4.4.94-framebuffer驱动介绍
行走在软件开发路上的人
精选专栏-独一无二linux嵌入式
提示:此部分内容看完之后,可以自动手动添加屏幕到fb中(关注panel部分即可)。从模块上面来讲,framebuffer总共分为了几部分,分别是:(1)fb本身驱动(kernel-4.4.94中的drivers/video/fbdev/core/fbmem.c文件中的fbmem_init中注册了字符设备fb)内核配置如下:Dsi(选中dsi即可):(2)平台framebuffer实现部分(driv
- Linux SPI子系统初始化与运行流程详解
进击的程序汪
linux服务器网络
LinuxSPI子系统初始化与运行流程详解以下是LinuxSPI子系统从设备树解析到驱动匹配、数据传输的完整流程,包含详细调用链和树状结构:一、SPI子系统初始化整体流程图[系统启动阶段]└───>[内核初始化]└───start_kernel()└───rest_init()└───kernel_init()└───init_post()└───do_basic_setup()└───drive
- Linux内核模块
北漂老男人
Linuxlinuxarm开发运维学习方法架构
一、Linux内核模块(KernelModules)1.有多少模块?怎么查?数量:没有固定上限,和内核版本、配置、硬件相关。一般主流发行版会有数百到上千个模块文件。查询所有可用模块:find/lib/modules/$(uname-r)/-typef-name"*.ko*"查询当前已加载模块:lsmod统计数量:find/lib/modules/$(uname-r)/-typef-name"*.k
- BEV-Fusion环境配置(RTX4090)
BEV-Fusion环境配置(RTX4090)SystemVersionSystemVer.Ubuntu22.04.5LTSKernelVer.6.8.0-57-genericGPU:RTX4090CudaVersionin/usr/local/cudanvcc:NVIDIA(R)CudacompilerdriverCopyright(c)2005-2022NVIDIACorporationBui
- 网络程序设计实验-TCP/IP协议栈源代码分析
asdsdasd2
网络tcp/ip网络协议
TCP/IP协议栈源代码分析结论:1.inet_init是如何被调用的?从start_kernel到inet_init调用路径inet_init代码如下:staticint__initinet_init(void){structsk_buff*dummy_skb;structinet_protocol*p;structinet_protosw*q;structlist_head*r;printk(
- The hierarchical constant bandwidth server scheduler
mounter625
Linuxkernel网络服务器linuxkernel安全
ThePOSIXrealtimemodel,whichisimplementedintheLinuxkernel,canensurethatarealtimeprocessobtainstheCPUtimeitneedstogetitsjobdone.Itcanbelesseffective,though,whentherearemultiplerealtimeprocessescompeting
- Linux实时扩展(PREEMPT_RT)
爱学习的大牛123
linux开发内核应用网络linux运维服务器
一.LinuxPREEMPT_RT介绍PREEMPT_RT(实时抢占补丁)是Linux内核的一个重要扩展,专门用于提高Linux系统的实时性能。让我详细解释一下这个概念及其重要性:1.PREEMPT_RT的基本概念:•全称是"FullyPreemptibleKernel"•目标是将Linux内核转变为完全可抢占的实时操作系统•通过减少延迟和提高确定性来改善系统的实时响应能力2.主要特性:•使几乎所
- Asterinas: a new Linux-compatible kernel project
mounter625
Linuxkernel服务器linuxkernel
AsterinasisanewLinux-ABI-compatiblekernelprojectwritteninRust,basedonwhattheauthorscalla"framekernelarchitecture".TheprojectoverlapssomewhatwiththegoalsoftheRustforLinuxproject,butapproachestheproblem
- linux drm子系统,Linux DRM那些事-内核代码
weixin_39523887
linuxdrm子系统
root@ubuntu:/home/run/code/rockchip-bsp/kernel/drivers/gpu/drm#lsamddrm_atomic.cdrm_crtc_internal.hdrm_fb_cma_helper.cdrm_internal.hdrm_modes.cdrm_rect.cexynosmgarcar-duttmarmadadrm_atomic_helper.cdrm
- C# 读写USB X64
lrf2019
C#技术交流c#硬件操作USB读写
前几天接了一个比较老的USB读写dll,发现是X86的,但最新的软件框架需要X64,所以需要升级该USB的dll。使用dnspy反编译获取代码(还好是c#写的,支持反编译)直接上改完的代码:publicclassTiUsbHidIO{//Token:0x06000001RID:1[DllImport("kernel32.dll")]privatestaticexternIntPtrGlobalLo
- Ubuntu系统内核遇Kernel Panic问题
ghie9090
Ubuntu
KernelPanic是Linux操作系统中的一种紧急错误情况,当操作系统遇到无法正常处理的问题时,内核会决定这种“恐慌”状况,以保护系统不受进一步破坏。在Ubuntu操作系统中,遭遇KernelPanic问题可能有多种原因。以下将进行详细讲解,提供可能的解决方案。首先,我们要认识到KernelPanic是一个复杂功能的表象,涉及到硬件、驱动、内核和用户空间等多个方面。我们会以一个结构化的方法分析
- Linux系统移植⑨:uboot启动流程详解-bootz启动Linux过程
Linux系统移植⑨:uboot启动流程详解-bootz启动Linux过程bootz是U-Boot中用于启动Linux内核的命令,专为处理zImage(压缩内核映像)设计。启动Linux的完整过程:1.加载内核与相关文件U-Boot先将以下文件加载到内存指定地址:zImage:压缩的Linux内核映像(位于内存地址KERNEL_ADDR)。设备树二进制文件(DTB):硬件描述文件(位于FDT_AD
- vitis dpu kernel编译和docker环境搭建
寒听雪落
linux
一,Vitis-AI简介1,Vitis-AI概述Vitis-AI在边缘计算设备的AI全栈部署框架中扮演了编译器端与后端的角色,接收前端DNN(DeepNeuralNetwork)框架训练后的网络参数IR(IntermediateRepresentation),并将其优化后编译并传递给后端。后端DNNDK(DeepNeuralNetworkDevelopmentKit)为Edge终端提供了驱动和AP
- CppCon 2017 学习:Almost Unlimited Modern C++ in Kernel-Mode Applications
虾球xz
CppCon学习c++开发语言
“AlmostUnlimitedModernC++inKernel-ModeApplications”是对在内核模式(KernelMode)中使用现代C++(C++11/14/17/20)技术的探索。这是一个高级、但越来越实用的话题,尤其是在Windows驱动开发、嵌入式系统、操作系统扩展、以及kernel-mode应用程序中。基本理解什么是KernelMode?是操作系统运行核心代码的权限级别。
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
jsp超链接文件下载窗口
生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc
- 【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
bit1129
cluster
在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识:
首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste
- linux上独立安装部署spark
daizj
linux安装spark1.4部署
下面讲一下linux上安装spark,以 Standalone Mode 安装
1)首先安装JDK
下载JDK:jdk-7u79-linux-x64.tar.gz ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
然后配置 ~/.bashrc&nb
- Java 字节码之解析一
周凡杨
java字节码javap
一: Java 字节代码的组织形式
类文件 {
OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组
}
&nbs
- java各种小工具代码
g21121
java
1.数组转换成List
import java.util.Arrays;
Arrays.asList(Object[] obj); 2.判断一个String型是否有值
import org.springframework.util.StringUtils;
if (StringUtils.hasText(str)) 3.判断一个List是否有值
import org.spring
- 加快FineReport报表设计的几个心得体会
老A不折腾
finereport
一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!!
二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。
- mysql linux启动与停止
墙头上一根草
如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin
- Spring中事务管理浅谈
aijuans
spring事务管理
Spring中事务管理浅谈
By Tony Jiang@2012-1-20 Spring中对事务的声明式管理
拿一个XML举例
[html]
view plain
copy
print
?
<?xml version="1.0" encoding="UTF-8"?>&nb
- php中隐形字符65279(utf-8的BOM头)问题
alxw4616
php中隐形字符65279(utf-8的BOM头)问题
今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.
调试:
1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题.
2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.
 
- 调用对象是否需要传递对象(初学者一定要注意这个问题)
百合不是茶
对象的传递与调用技巧
类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看
为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)
类和对象的基础概念:
JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接
- JDK1.5 AtomicLong实例
bijian1013
javathreadjava多线程AtomicLong
JDK1.5 AtomicLong实例
类 AtomicLong
可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。
 
- 自定义的RPC的Java实现
bijian1013
javarpc
网上看到纯java实现的RPC,很不错。
RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何
- 【RPC框架Hessian一】Hessian RPC Hello World
bit1129
Hello world
什么是Hessian
The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p
- 【Spark九十五】Spark Shell操作Spark SQL
bit1129
shell
在Spark Shell上,通过创建HiveContext可以直接进行Hive操作
1. 操作Hive中已存在的表
[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcom
- F5 往header加入客户端的ip
ronin47
when HTTP_RESPONSE {if {[HTTP::is_redirect]}{ HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo
- java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
写了个java版的
public class GreatestLeftRightDiff {
/**
* Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。
* 求所有数对之差的最大值。例如在数组
- mongoDB 索引
开窍的石头
mongoDB索引
在这一节中我们讲讲在mongo中如何创建索引
得到当前查询的索引信息
db.user.find(_id:12).explain();
cursor: basicCoursor 指的是没有索引
&
- [硬件和系统]迎峰度夏
comsci
系统
从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内
所以,从现在开始准备渡过炎热的夏天。。。。
每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)
坐的,躺的地方要有凉垫,床上要有凉席
电脑的机箱
- 基于ThinkPHP开发的公司官网
cuiyadll
行业系统
后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统
轻量级企业网站管理系统
运行环境:PHP5.3+, MySQL5.0
系统预览
系统下载:http://www.tecmz.com
预览地址:http://co.tecmz.com
各种设备自适应
响应式的网站设计能够对用户产生友好度,并且对于
- Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)
darrenzhu
jms事务承认MQacknowledge
JMS Message Delivery Reliability and Acknowledgement Patterns
http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/
Transaction and redelivery in
- Centos添加硬盘完全教程
dcj3sjt126com
linuxcentoshardware
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命
- yii2 restful web服务路由
dcj3sjt126com
PHPyii2
路由
随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。
在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示
- MongoDB查询(4)——游标和分页[八]
eksliang
mongodbMongoDB游标MongoDB深分页
转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标
数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示:
> var
- Activity的四种启动模式和onNewIntent()
gundumw100
android
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<acti
- 攻城狮送女友的CSS3生日蛋糕
ini
htmlWebhtml5csscss3
在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>攻城狮送女友的CSS3生日蛋糕-柯乐义<
- 读源码学Servlet(1)GenericServlet 源码分析
jzinfo
tomcatWebservlet网络应用网络协议
Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。
先看javax.servlet.servlet接口源码:
package
- JAVA进阶:VO(DTO)与PO(DAO)之间的转换
snoopy7713
javaVOHibernatepo
PO即 Persistence Object VO即 Value Object
VO和PO的主要区别在于: VO是独立的Java Object。 PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。
实际上,这个VO被用作Data Transfer
- mongodb group by date 聚合查询日期 统计每天数据(信息量)
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 1 */
{
"_id" : ObjectId("557ac1e2153c43c320393d9d"),
"msgType" : "text",
"sendTime" : ISODate("2015-06-12T11:26:26.000Z")
- java之18天 常用的类(一)
Luob.
MathDateSystemRuntimeRundom
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class Sy
- maven
wuai
maven
1、安装maven:解压缩、添加M2_HOME、添加环境变量path
2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹
3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹
4、进入mvn_ch01
4.1、mvn compile ,执行后会在