- NativeScript 8.9.0 发布,跨平台原生应用框架
自不量力的A同学
javascript
NativeScript是一个开源框架,可让开发者使用JavaScript或TypeScript来构建iOS和Android应用5。目前NativeScript最新版本为8.8.04,并未发布8.8.0以上版本,以下是NativeScript8.8.0的相关信息:改进的渲染性能:新的渲染引擎进一步优化了UI的绘制速度,使应用响应更快,能为用户提供更流畅的操作体验,在界面切换、元素显示等方面的表现更
- Android自动化测试初探
zgy19851028
Android软件测试SocketVBScript编程
基于UIAutomation的自动化测试框架收藏§第一部分:前言自动化测试或许是众多测试同行都在研究或准备研究的领域。结合自己的能力和公司的状况,选择合适的自动化工具、搭建正确而又高效的框架或许是个永远讨论不完的话题,正如应了那句话,没有最好,只有更好。个人所在的公司当前开展的很多项目都是基于Win7和WPF开发的,之前想尝试用QTP对之进行录制和回放操作,不幸的是,需要额外的WPF插件支持;另外
- nvm 使用
werch
npmnode.js前端
1环境Windows11家庭版安装nvm卸载原有nodejs版本如不卸载原有版本,会造成冲突,安装完nvm发现不了已安装的nodejs版本,建议卸载之前的版本。2.下载nvmnvmnvm-setup,推荐下载zip版本nvm-setup.zip。下载完解压,选择没有特殊字符及中文的目录(否则会提示找不到命令或目录)后一直下一步安装即可。验证是否安装成功3.nvmversion4.配置nvm淘宝镜像
- android 仿ios悬浮窗,iOS仿微信悬浮窗
新littleant
android仿ios悬浮窗
仿微信悬浮窗,可直接协议加入悬浮窗或者直接调用方法注册,可自定义转场动画演示myFloat.gif用法1在Appdelegate中注册传入对应控制器的className//只带控制器的className[[WMZFloatManageshareInstance]registerControllers:@[@"ViewController"]];//带其他配置(标题和图片)[[WMZFloatMan
- Android组件化、模块化、插件化
写完就会了
JAVA基础Androidandroid
Android组件化、模块化、插件化区别详解-掘金组件化:组件化就是基于可重用为目的的,将一个大的软件系统按照分离关注点的形式,拆分多个独立的组件,减少耦合。就是“基础库”或者“基础组件",意思是把代码重复的部分提炼出一个个组件供给功能使用使用:Dialog,各种自定义的UI控件、能在项目或者不同项目重复应用的代码等等目的:复用,解耦依赖:组件之间低依赖,比较独立架构定位:纵向分层(位于架构底层,
- uni-app实现用接口编写新闻
2021级计算机应用技术1班-童秀萍
uni-app前端
一、uni-app是一个使用vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。二、uni-app官网上(官网)有各种可以学习组件包括内置组件、常用的有:视图容器组件里的,view,scroll-view,swiper等,还有表单组件,如button、f
- 解决CPU/ABI: No system images installed for this target.
依旧很淡定
安卓
一、问题:在eclipse创建AVD设备的时候无法正常创建虚拟设备,报错:Nosystemimagesinstalledforthistarget.二、原因:SDK里面缺少了system-images文件。三、解决方法:1.进入网站:AndroidDevTools-Android开发工具AndroidSDK下载AndroidStudio下载Gradle下载SDKTools下载AndroidDevT
- 安卓利用CameraX实现拍照录像
来之梦
androidjava前端
废话不多说直接上代码一,导入依赖//CameraX相关依赖defcameraxVersion="1.1.0-alpha05"implementation"androidx.camera:camera-core:${cameraxVersion}"implementation"androidx.camera:camera-camera2:${cameraxVersion}"implementatio
- adb安装
怒放的生命1991
rubymacos开发语言
Mac安装adb,最简单的办法是用homebrewhomebrew是macOS的一个包管理工具1、安装homebrewruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"2、安装adbbrewcaskinstallandroid-platform-tools3、运行adbadbde
- 如何通过 ADB 安装 xapk
积跬步DEV
Android开发实战大全adb
Android开发这么久,今天发现还能这么操作!记录通过ADB安装xapk、apks的两种方式:1.ADB命令安装使用APK-Splits技术分包的应用程序这位大佬的方式步骤较为繁琐,不过兼容性应该较好,亲测成功安装。2.Howtoinstallxapk,apks,ormultiple-apksviaadb?这个方式通过adbinstall-multiple命令直接一键安装了,这个确实方便,亲测也
- adb的安装
依旧很淡定
adbadb
1、概念(1)adb(androiddebugbridge)安卓调试桥,用于完成电脑和手机之间的通信控制。(2)xcode来完成对于ios设备的操控,前提是有个mac电脑。2、adb的安装(1)adb是androidSDK其中自带的工具,用于完成电脑和手机之间的通信控制。(2)下载adb(3)解压之后,将sdk的platform-tools配置到环境变量path里。(4)adbversion用于查
- 探索AGI:谷歌开源的先进智能系统框架
劳泉文Luna
探索AGI:谷歌开源的先进智能系统框架agiAndroidGPUInspector项目地址:https://gitcode.com/gh_mirrors/ag/agiAGI(ArtificialGeneralIntelligence)是谷歌开源的一个项目,旨在构建一个可广泛应用的、先进的智能系统框架。这个项目的目的是为开发者提供一个平台,用于研究和开发具有广泛理解和适应能力的人工智能模型。技术分析
- qt android 报错 FORTIFY: pthread_mutex_lock called on a destroyed mutex 和 HandleUsingDestroyedMutex
Lj2_jOker
qt开发语言
先来看一个代码片段Test::Test(){thread=newQThread;QObject::connect(thread,&QThread::started,[&](){while(running){mtx.lock();//QMutexwaiter.wait(&mtx);//QWaitCondition.....mtx.unlock();}});thread.start();}Test::
- java.io.FileNotFoundException open failed: EACCES (Permission denied)
南柯一梦梦红尘
javapython开发语言
针对java.io.FileNotFoundExceptionopenfailed:EACCES(Permissiondenied)出现的问题,是由于当前使用的安卓版本过高导致的,出现了文件访问失败。1\解决方法是在AndroidMainfest中添加android:requestLegacyExternalStorage="true"2\AndroidMainfest中添加publicvoida
- Android逆向学习知识体系(三)
zhangjianming2018
Androidkotlinandroid
第二阶段:Android逆向进阶学习:Android系统结构深入分析,自定义ClassLoader,自定义注解和元注解原理分析;了解AndroidNDK,静态注册,动态注册,SO加载分析,App保护策略去除霸哥磁力搜素APK签名验证,一键去除签名验证,静态代理,动态代理HookActivity启动函数,Hook签名验证函数介绍xposed框架:Xposed框架:绕过验证码注册Xposed框架:登陆
- 【转】android安全与逆向进阶路线
Synioe
androidandroid
【转自论坛热帖】此篇整理了最完整的--Android逆向学习线路知识体系。希望给迷糊的入门者指出一个明确的方向。真心建议:先正向开发几年再搞逆向吧……正向都不会破解的是啥?不看代码只会脱壳?只会xposed?远远不够,hook只是很小一部分技术,xposed是hook功能众多框架中的一个而已。相对于任何程序的开发来说,逆向知识点很少很少了,关键是基础知识,基础就是正向开发经验。学习Android逆
- flutter实战!2021年Android网络编程总结篇,移动架构师成长路线
椰果学Android
程序员android
什么是中年危机根据权威数据显示,国内IT程序员鼎盛时期是在25-27岁左右,30岁对于程序员而言完全是一个38线,接着就是转业转岗的事情,这一点在业界也算是一个共识了。大学毕业步入IT行业普遍年龄也是在22岁左右,然而22-30岁之间也就是8年左右的时间,那么27岁也就是职业生涯“中年”的开始,那么作为程序员的你有准备好如何度过“中年危机”吗?当程序猿到了28岁左右的“中年危机”就不一样了,这个年
- 混合开发框架的对比,Flutter更胜一筹?
2401_84123357
程序员flutter
2、同一份代码开发iOS和Android3、用更少的代码做更多的事情4、轻松迭代5、在应用程序运行时更改代码并重新加载(通过热重载)6、修复崩溃并继续从应用程序停止的地方进行调试7、创建美观,高度定制的用户体验9、受益于使用Flutter框架提供的丰富的MaterialDesign和Cupertino(iOS风格)的widget10、实现定制、美观、品牌驱动的设计,而不受原生控件的限制跨平台技术简
- android app安装的过程,Pm install App流程
益盟操盘手
androidapp安装的过程
adb安装应用应用安装涉及目录:system/app---------------系统自带的应用程序,获得adbroot权限才能删除data/app---------------用户程序安装的目录。安装时把apk文件复制到此目录data/data---------------存放应用程序的数据data/dalvik-cache--------将apk中的dex文件安装到dalvik-cache目录
- android工具am的用法,Android中AM、PM、dumpsys命令使用总结
喵杀
android工具am的用法
在平时开发中,通过命令行有时候能够快速的帮我们实现一些功能,这里对常用的命令做一些总结。1、AM命令用法1.1、简单介绍am指令是activitymanager的缩写,可以启动Service、Broadcast,杀进程,监控等功能,这些功能都非常便捷调试程序。可以通过adbshell进入Android的Linux命令界面,输入am-help查看详细命令,先介绍几个简单用法,//使用Action方式
- SupportV4 包 与 androidx 有重复问题解决方法
tangweiguo03051987
android
SupportV4包与androidx有重复问题解决方法android.support.v4.app.INotificationSideChannel和android.support.v4.os.ResultReceiver同时存在support和androidx;解决方法是:在gradle.properties文件中添加这两行:android.useAndroidX=trueandroid.en
- 【Android】聊聊Kotlin操作符重载
AI绘画师-海绵
Kotlinandroidkotlin
算数运算操作符重载在kotlin中我定义一个类dataclassPoint(valx:Int,valy:Int)然后实例化两个对象valp1=Point(3,5)valp2=Point(5,7)想表示p1的元素x加上p2的元素x,p1的元素y,加上p2的元素y.然后输出一个p3.valp3=Point(p1.x+p2.x,p2.y+p2.y)以上这种写法没有任何问题。不过我们可以利用Kotlin扩
- Android Am命令用法
一抹夕阳815
Androidandroidam
一、概述作为一名开发者,相信对adb指令一定不会陌生。那么在手机连接adb后,可通过am命令做很多操作:(1)拨打电话10086adbshellamstart-aandroid.intent.action.CALL-dtel:10086(2)打开网站www.gityuan.comadbshellamstart-aandroid.intent.action.VIEW-dhttp://gityuan.
- SD卡迁移数据流程 & 迁移数据失败
惠(xi)斌
storageframeworkandroid
一.简介格式化为内部存储是android6.0引进了adoptabledevice的概念,意思是可以把外置SD卡格式化为内卡使用整个操作过程是:formatasinternal--migratedata后外卡就变为内卡使用和普通的格式化区别在于:相当于内置SD卡的扩容,此时的外置SD卡会变成和原内部存储一样的地位,迁移数据也是把原内部存储数据转到sdcard中Google对这个功能的说明如下:ht
- binder service 找不到会delay 5秒
惠(xi)斌
framework基础知识点android
一.描述在做项目裁剪时,发现了一个问题.当按power时,灭屏和亮屏特别慢.至少需要5秒.01-1114:16:24.53310271130IDisplayPowerController2[0]:Unblockedscreenonafter6256ms二.分析抓取systemserver的dump信息.发现一直处于blocked状态."android.display"prio=5tid=16Blo
- Android App Bundle_app bundle如何打包
2401_84520150
程序员android
3.如何测试AndroidAppBundle?AndroidAppBundle包倒是打出来了,那怎么进行测试呢?我们设备上仅允许安装apk文件,aab是不能直接进行安装的。这里官方提供了3种方式可供选择:AndroidStudio、GooglePlay和bundletool,下面我们一一来介绍。3.1AndroidStudio利用AndroidStudio,在我们平时开发时就可以直接将项目打包成d
- Android15 am命令 APP安装流程
惠(xi)斌
python开发语言
一.PM安装命令使用命令pminstall-rxxx.apkpm命令安装app会触发PackageManagerShellCommand中runInstall()方法frameworks/base/services/core/java/com/android/server/pm/PackageManagerShellCommand.java1.onCommand函数:publicintonComm
- build.gradle文件generateProtoTasks含义
天若子
android
在Android项目的build.gradle文件中,generateProtoTasks通常与使用ProtocolBuffers(Protobuf)进行代码生成相关,下面为你详细解释其含义和作用。整体背景ProtocolBuffers是一种用于序列化结构化数据的高效机制,在Android和Java项目中,我们通常会定义.proto文件来描述数据结构,然后使用Protobuf编译器根据这些.pro
- Android.bp 构建 FFmpeg 库:从搭建编译框架到处理编译错误的全过程
Timelens
FFmpeg在Android上的探索与实践ffmpegandroid
文章目录前言搭建编译框架1.创建Android.bp文件2.创建avutil_files.bp3.创建其他bp文件armv8-a编译参数1.configure源代码2.查看编译参数3.添加编译参数4.添加汇编参数5.添加链接参数6.HAVE_AV_CONFIG_H参数armv7-a编译参数1.查看编译参数2.添加编译、汇编、链接参数添加armv8-a源文件1.查找需编译的源文件2.添加compat
- Android.bp在安卓项目中的构建
wydaicls
Android代码学习android
Android.bp是Android构建系统的一部分,主要用于描述模块和它们之间的依赖关系。它使用一种名为Blueprint的DSL(领域特定语言)来定义模块的属性和行为,取代了之前的Android.mk文件。1.基本结构Android.bp文件的基本结构包括:模块类型:定义模块的类型,如cc_library、java_library等。属性:模块的属性,如名称、源文件、依赖关系等。2.常见模块类
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
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 ,执行后会在