Maven:基本使用

为什么80%的码农都做不了架构师?>>>   hot3.png

1.项目管理工具:
 Maven的repository,说白了就是dependency的仓库,它按照一定的规则将dependency存放起来,以作缓存,如果本机的 repository找不到某个dependency,它就会自动去找到网上其它相关联的repository,找到的话将其下载至本地,那么下次它就不 再去其它地方下载了,直接从本地获取


Maven常用命令

mvn compile 
编译主程序源代码,不会编译test目录的源代码。第一次运行时,会下载相关的依赖包,可能会比较费时。

mvn test-compile 
编译测试代码,compile之后会生成target文件夹,主程序编译在classes下面,测试程序放在test-classes下。

mvn test
运行应用程序中的单元测试

mvn site
生成项目相关信息的网站

mvn clean
清除目标目录中的生成结果

mvn package
依据项目生成 jar 文件,打包之前会进行编译,测试。

mvn install
在本地 Repository 中安装 jar。

mvn eclipse:eclipse
生成 Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。


Maven2,它是一个模块化项目构建工具(Building a Project )。它能够管理依赖、构建周期、测试、 打包并且在仓库中发布你的制品。它是一个项目构建工具,领先于通常的构建工具(实际上它的第一个版本是在Ant之上的一层)。
apache ivy2 对项目依赖的文件可以进行统一的管理,依赖于ant,它是一个管理(记录、跟踪、解析和报告)项目依赖的工具 (dependency tool)。

Maven 2和Ivy常被放在一起对比,但实际上两者是不同类型的工具。Ivy仅提供依赖管理功能,但是Maven 2是一个软件项目管理综合工具,能够管理构建、报告、文档,以及根据中心化的信息来管理依赖。Ant和Ivy 2.0集成在一起,与Maven 2进行比较才比较合适。

两个工具处理冲突管理(Conflict management)的方式是不同的,冲突管理指处理传递依赖时解决冲突的能力。Ivy允许由模块定制冲突管理器和规则,而Maven 2的冲突管理则基于最近的定义(也就是说,一个模块依赖于foo 1.0,这会导致模块的所有依赖都不能使用foo 1.1)。

Maven 2通过一个叫阶段(scope)的概念来处理其中的依赖配置。在Maven 2中,一个依赖只在定义它的测试阶段或构建阶段有效。Ivy能够创建多配置映射,这些映射可将每个配置(需构建工件的声明)与其它模块的依赖绑定在一起,以此提供了更多的定制选项。

Maven 2关于依赖管理的文档很有限,相对于此,Ivy的文档内容更宽泛,包含大量的例子和指南,同时包括FAQ。有些企业不能使用公共仓库,并在基于Ant的构建系统中有大量投资,对于这样的企业来说,Ivy支持企业仓库的创建、与Ant紧密集成,这些附加的特征都使Ivy成为能替代Maven 2的依赖管理工具。


mavn  常用命令 
1. 创建Maven的普通java项目: 
    mvn archetype:create 
    -DgroupId=packageName 
    -DartifactId=projectName  
2. 创建Maven的Web项目:   
    mvn archetype:create 
    -DgroupId=packageName    
    -DartifactId=webappName 
    -DarchetypeArtifactId=maven-archetype-webapp    
3. 编译源代码: mvn compile 
4. 编译测试代码:mvn test-compile    
5. 运行测试:mvn test   
6. 产生site:mvn site   
7. 打包:mvn package   
8. 在本地Repository中安装jar:mvn install 
    (mvn install -D maven.test.skip=true 跳过TestCase检验,否则在install时会运行TestCase测试) 
9. 清除产生的项目:mvn clean   
10. 生成eclipse项目:mvn eclipse:eclipse  
11. 生成idea项目:mvn idea:idea  
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package   
13. 编译测试的内容:mvn test-compile  
14. 只打jar包: mvn jar:jar  
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile 
      ( -skipping 的灵活运用,当然也可以用于其他组合命令)  
16. 清除eclipse的一些系统设置:mvn eclipse:clean  

ps: 

一般使用情况是这样,首先通过cvs或svn下载代码到本机, 
然后执行mvn eclipse:eclipse生成ecllipse项目文件, 
然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验, 
也可以下载eclipse的maven插件。 
=============================== 
其他: 
mavn jar包来源:http://www.mvnrepository.com/
http://www.infoq.com/cn/minibooks/jee-webserver-cluster 
pom中的属性文件: 
<profiles> 
<profile> 
<id>191</id> 
<properties> 
<database.url>jdbc:oracle:thin:@192.168.0.191:1521:xe</database.url> 
<database.driverClassName>oracle.jdbc.OracleDriver</database.driverClassName> 
<database.username>jrtsch</database.username> 
<database.password>jrt2010</database.password> 
</properties> 
</profile> 


          <profile> 
<id>70debug</id> 
<properties> 
<database.url>jdbc:oracle:thin:@219.148.162.70:1537:jrtdbtest</database.url> 
<database.driverClassName>oracle.jdbc.OracleDriver</database.driverClassName> 
<database.username>jrtsch</database.username> 
<database.password>jrt2010</database.password> 

</properties> 
</profile> 

     </profiles> 

     数据库配置文件: 
     database.password=${database.password} 
database.url=${database.url} 
database.username=${database.username} 
database.driverClassName=${database.driverClassName} 
============================== 
建立一个maven web工程 
mvn archetype:create -DgroupId=com.ex -DartifactId=myexample -DarchetypeArtifactId=maven-archetype-webapp 
1.打包命令,如果将profile的属性值入: 
  mvn package -P191 
2.打包 mvn package 
3.打包跳过测试:mvn package -D mavne.test.skip=true 
4.依赖包 
使用maven命令:mvn dependency:sources  下载依赖包的源代码。 

MAVEN手工添加第三方jar包(ojdbc14.jar)第三方jar包需要手工添加,命令如下: 
mvn install:install-file -Dfile=E:\maven221\repository\com\oracle\ojdbc14\10.2.0.2.0 

\ojdbc14-10.2.0.2.0.jar -DgroupId=com.org.common.oracle -DartifactId=oracle - 

Dversion=10.2.0.2.0 -Dpackaging=jar -DgeneratePom=true 

5.运行单个单元测试 
mvn -Dtest=TestXXX test 




建立项目的命令为 
mvn archetype:generate -DarchetypeArtifactId=\[项目类型] -DgroupId=\[组识别] 
-DartifactId=\[项目名称] -Dversion=\[版本] -Dpackage=\[包] 

mvn archetype:generate -DgroupId=com.promotion -DartifactId=zefun_promotion -Dpackaging=jar -DarchetypeArtifactId=maven-archetype-webapp
项目类型(archetypeArtifactId)可以是下列选项 
1. maven-archetype-j2ee-simple (J2EE 项目) 
2. maven-archetype-portlet (门户) 
3. maven-archetype-quickstart (一般 Java project) 
4. maven-archetype-site (复杂站点) 
5. maven-archetype-site-simple (简单站点) 
6. maven-archetype-webapp (Java Web 站点) 
groupId 用于项目的分组 
artifactId 项目的名称,也就是包名称 
version 版本 
package 主要设定目录的层次 

============= 
<plugin> 
<artifactId>maven-war-plugin</artifactId> 
<version>2.1.1</version> 
<configuration> 
<!-- exclude those which shared lib 
<packagingExcludes> 
WEB-INF/lib/nric-framework*.jar, 
WEB-INF/lib/spring-core*.jar, 
WEB-INF/lib/spring-asm*.jar, 
WEB-INF/lib/commons-*.jar, 
WEB-INF/lib/spring-aop*.jar, 
WEB-INF/lib/aopalliance*.jar, 
WEB-INF/lib/spring-beans*.jar, 
WEB-INF/lib/spring-context*.jar, 
WEB-INF/lib/spring-orm*.jar, 
WEB-INF/lib/spring-tx*.jar, 
WEB-INF/lib/ibatis*.jar, 
WEB-INF/lib/oracle*.jar, 
WEB-INF/lib/jcl-over-slf4j*.jar, 
WEB-INF/lib/slf4j-*.jar, 
WEB-INF/lib/javassist*.jar, 
WEB-INF/lib/aspectjrt*.jar, 
WEB-INF/lib/aspectjweaver*.jar, 
WEB-INF/lib/spring-jdbc*.jar, 
WEB-INF/lib/log4j*.jar, 
WEB-INF/lib/quartz*.jar, 
WEB-INF/lib/cglib*.jar, 
WEB-INF/lib/asm-*.jar, 
WEB-INF/lib/joda-time*.jar 
</packagingExcludes>--> 
<!-- Use this to include a selection of jars that will be included in the WAR --> 
<!-- 
<packagingIncludes> 
**/*.xml,**/*.properties,**/*.class,**/*.png,**/*.css,**/*.js,**/*.jsp, 
WEB-INF/lib/spring-web*.jar 
</packagingIncludes> 
--> 
<archive> 
<manifest> 
<addClasspath>true</addClasspath> 
<classpathPrefix>lib/</classpathPrefix> 
</manifest> 
</archive> 
</configuration> 
</plugin> 

Java代码  

1.     mvn pom.xml文件配置详解  

2.     http://maven.apache.org/ref/2.0.8/maven-model/maven.html  

3.       

4.     mvn -version/-v  显示版本信息  

5.     mvn archetype:generate      创建mvn项目  

6.     mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app   创建mvn项目  

7.       

8.     mvn package         生成target目录,编译、测试代码,生成测试报告,生成jar/war文件  

9.     mvn jetty:run           运行项目于jetty上,  

10.  mvn compile                 编译  

11.  mvn test                    编译并测试  

12.  mvn clean                   清空生成的文件  

13.  mvn site                    生成项目相关信息的网站  

14.  mvn -Dwtpversion=1.0 eclipse:eclipse        生成Wtp插件的Web项目  

15.  mvn -Dwtpversion=1.0 eclipse:clean      清除Eclipse项目的配置信息(Web项目)  

16.  mvn eclipse:eclipse             将项目转化为Eclipse项目  

17.    

18.  在应用程序用使用多个存储库  

19.  <repositories>      

20.      <repository>        

21.          <id>Ibiblio</id>        

22.          <name>Ibiblio</name>        

23.          <url>http://www.ibiblio.org/maven/</url>      

24.      </repository>      

25.      <repository>        

26.          <id>PlanetMirror</id>        

27.          <name>Planet Mirror</name>        

28.          <url>http://public.planetmirror.com/pub/maven/</url>      

29.      </repository>    

30.  </repositories>  

31.    

32.    

33.  mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/  

34.    

35.    

36.  发布第三方Jar到本地库中:  

37.    

38.  mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar  

39.    

40.    

41.   -DdownloadSources=true  

42.    

43.   -DdownloadJavadocs=true  

44.    

45.  mvn -e          显示详细错误 信息.  

46.    

47.  mvn validate        验证工程是否正确,所有需要的资源是否可用。   

48.  mvn test-compile    编译项目测试代码。 。   

49.  mvn integration-test    在集成测试可以运行的环境中处理和发布包。   

50.  mvn verify      运行任何检查,验证包是否有效且达到质量标准。    

51.  mvn generate-sources    产生应用需要的任何额外的源代码,如xdoclet。  



另外 

Java代码  

1.     Maven常用命令:   

2.     1. 创建Maven的普通java项目:   

3.        mvn archetype:create   

4.        -DgroupId=packageName   

5.        -DartifactId=projectName    

6.     2. 创建Maven的Web项目:     

7.         mvn archetype:create   

8.         -DgroupId=packageName      

9.         -DartifactId=webappName   

10.      -DarchetypeArtifactId=maven-archetype-webapp      

11.  3. 编译源代码: mvn compile   

12.  4. 编译测试代码:mvn test-compile      

13.  5. 运行测试:mvn test     

14.  6. 产生site:mvn site     

15.  7. 打包:mvn package     

16.  8. 在本地Repository中安装jar:mvn install   

17.  9. 清除产生的项目:mvn clean     

18.  10. 生成eclipse项目:mvn eclipse:eclipse    

19.  11. 生成idea项目:mvn idea:idea    

20.  12. 组合使用goal命令,如只打包不测试:mvn -Dtest package     

21.  13. 编译测试的内容:mvn test-compile    

22.  14. 只打jar包: mvn jar:jar    

23.  15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile   

24.        ( -skipping 的灵活运用,当然也可以用于其他组合命令)    

25.  16. 清除eclipse的一些系统设置:mvn eclipse:clean    

26.    

27.  ps:   

28.    

29.  一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。   

30.    

31.  mvn -version/-v  显示版本信息   

32.  mvn archetype:generate        创建mvn项目   

33.  mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app   创建mvn项目   

34.    

35.  mvn package            生成target目录,编译、测试代码,生成测试报告,生成jar/war文件   

36.  mvn jetty:run            运行项目于jetty上,   

37.  mvn compile                    编译   

38.  mvn test                    编译并测试   

39.  mvn clean                    清空生成的文件   

40.  mvn site                    生成项目相关信息的网站   

41.  mvn -Dwtpversion=1.0 eclipse:eclipse        生成Wtp插件的Web项目   

42.  mvn -Dwtpversion=1.0 eclipse:clean        清除Eclipse项目的配置信息(Web项目)   

43.  mvn eclipse:eclipse                将项目转化为Eclipse项目   

44.    

45.  在应用程序用使用多个存储库   

46.  <repositories>      

47.      <repository>        

48.          <id>Ibiblio</id>        

49.          <name>Ibiblio</name>        

50.          <url>http://www.ibiblio.org/maven/</url>      

51.      </repository>      

52.      <repository>        

53.          <id>PlanetMirror</id>        

54.          <name>Planet Mirror</name>        

55.          <url>http://public.planetmirror.com/pub/maven/</url>      

56.      </repository>    

57.  </repositories>   

58.    

59.    

60.  mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/   

61.    

62.    

63.  发布第三方Jar到本地库中:   

64.    

65.  mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar   

66.    

67.    

68.  -DdownloadSources=true   

69.    

70.  -DdownloadJavadocs=true   

71.    

72.  mvn -e            显示详细错误 信息.   

73.    

74.  mvn validate        验证工程是否正确,所有需要的资源是否可用。   

75.  mvn test-compile    编译项目测试代码。 。   

76.  mvn integration-test     在集成测试可以运行的环境中处理和发布包。   

77.  mvn verify        运行任何检查,验证包是否有效且达到质量标准。       

78.  mvn generate-sources    产生应用需要的任何额外的源代码,如xdoclet。   

 

82.  常用命令:   

83.  mvn -v 显示版本   

84.  mvn help:describe -Dplugin=help 使用 help 插件的  describe 目标来输出 Maven Help 插件的信息。   

85.  mvn help:describe -Dplugin=help -Dfull 使用Help 插件输出完整的带有参数的目标列   

86.  mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 获取单个目标的信息,设置  mojo 参数和  plugin 参数。此命令列出了Compiler 插件的compile 目标的所有信息   

87.  mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目标   

88.  mvn help:effective-pom 看这个“有效的 (effective)”POM,它暴露了 Maven的默认设置   

89.    

90.  mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 创建Maven的普通java项目,在命令行使用Maven Archetype 插件   

91.  mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件让我们能够在不往 classpath 载入适当的依赖的情况下,运行这个程序   

92.  mvn dependency:resolve 打印出已解决依赖的列表   

93.  mvn dependency:tree 打印整个依赖树   

94.    

95.  mvn install -X 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行   

96.  mvn install -Dmaven.test.skip=true 给任何目标添加maven.test.skip 属性就能跳过测试   

97.  mvn install assembly:assembly 构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件   

98.    

99.  mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用   

100.  mvn compile 编译你的项目   

101.  mvn clean install 删除再编译   

102.    

103.  mvn hibernate3:hbm2ddl 使用 Hibernate3 插件构造数据库  

 

转载于:https://my.oschina.net/wii01/blog/1491294

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据可视化html模板开源_大数据时代-可视化数据分析平台必不可少

公众号&#xff1a;不安分的猿人一、项目简介DataGear是一款数据管理与可视化分析平台&#xff0c;使用Java语言开发&#xff0c;采用浏览器/服务器架构&#xff0c;支持多种数据库&#xff0c; 主要功能包括数据管理、SQL工作台、数据导入/导出、数据集管理、图表管理、看板管…

【Netty】ChannelHandler和ChannelPipeline

一、前言 前面学习了Netty的ByteBuf&#xff0c;接着学习ChannelHandler和ChannelPipeline。 二、ChannelHandler和ChannelPipeline 2.1 ChannelHandler 在ChannelPipeline中&#xff0c;ChannelHandler可以被链在一起处理用户逻辑。 1. Channel生命周期 Channel接口定义了一个…

自动驾驶安全驾驶规则_自动驾驶知识科普 自动驾驶汽车的七大核心技术

自动驾驶技术的本质是用机器视角去模拟人类驾驶员的行为&#xff0c;其技术框架可以分为三个环节&#xff1a;感知层、决策层 和执行层&#xff0c;具体涉及传感器、计算平台、算法、高精度地图、OS、HMI等 多个技术模块。目前自动驾驶L3商业化技术已经成熟&#xff0c;L4级/L5…

bupt summer training for 16 #3 ——构造

https://vjudge.net/contest/172464 后来补题发现这场做的可真他妈傻逼 A.签到傻逼题&#xff0c;自己分情况 1 #include <cstdio>2 #include <vector>3 #include <algorithm>4 5 using std::vector;6 using std::sort;7 8 typedef long long ll;9 10 int n…

python常用快捷键、写代码事半功倍_Pycharm常用快捷键总结及配置方法

工欲善其事必先利其器&#xff0c;Python开发利器Pycharm常用快捷键以及配置如下&#xff0c;相信有了这些快捷键&#xff0c;你的开发会事半功倍 一 常用快捷键 编辑类&#xff1a; Ctrl D 复制选定的区域或行 Ctrl Y 删除选定的行 Ctrl Alt L 代码格式化 Ctrl Alt O 优…

使用FFMPEG SDK解码流数据获得YUV数据及其大小

本文以H264视频流为例&#xff0c;讲解解码流数据的步骤。 为突出重点&#xff0c;本文只专注于讨论解码视频流数据&#xff0c;不涉及其它&#xff08;如开发环境的配置等&#xff09;。如果您需要这方面的信息&#xff0c;请和我联系。 准备变量 定义AVCodecContext。如果您…

关于Python3.7和Python3.6中元组类型数据内存存储问题

关于Python3.7和Python3.6中元组类型数据内存存储问题 小编最近发现了一个瑕疵 当定义一个元组类型的变量后,若在程序后面再定义一个元组变量,这两个元组的内容相同,那么在不同的版本中会出现不同的结果 在Python3.6版本中,解释器将在内存中开辟两个内存空间分别存储两个元组的…

shell 删除了hdfs 文件_从零开始学大数据(三) Shell操作HDFS文件系统-中

1、格式化[rootmaster sbin]# hdfs namenode -format2、命令hdfs dfsadmin查看(hdfs dfsadmin -report)[rootmaster ~]# hdfs dfsadmin -report安全模式#获取安全模式状态[rootmaster ~]# hdfs dfsadmin -safemode get#进入安全状态[rootmaster ~]# hdfs dfsadmin -safemode en…

计算机硬件

计算机硬件 一、为什么要学习计算机基础 程序员编程的本质就是让计算机去工作&#xff0c;而编程语言就是程序员与计算机沟通的介质。程序员要想让计算机工作&#xff0c;就要知道计算机能干什么、是怎么样的一个完成过程&#xff0c;这也是我们必须学习计算机基础的原因。 …

铁路售票系统_铁路资讯:复兴号动车、智能京张高铁…中国最高端铁路装备看这里...

今天上午&#xff0c;两年一度的中国国际现代化铁路技术装备展在京开展&#xff0c;会期3天&#xff0c;将集中展示路网建设、客货运输、经营管理、工程建造、技术装备、旅客服务等铁路行业各领域的先进产品及技术。展会现场智能京张&#xff1a;将首次实现时速350公里自动驾驶…

CentOS下安装MySQL报安装文件conflicts错误:

2019独角兽企业重金招聘Python工程师标准>>> 第一&#xff1a;报这个错误&#xff0c;说明已经安装或相关文件已经存在&#xff0c;把已经存在的文件卸载了就可以了&#xff1a; rpm -e --nodeps mysql-libs-5.1.* 转载于:https://my.oschina.net/u/3197158/blog/1…

inc指令是什么意思_西门子PLC一些指令

指令(英文全称意思)∶指令含义1、LD ( Load装载):动合触点2、LDN (Load Not不装载):动断触点3、A(And与动合):用于动合触点串联4、AN (And Not与动断):用于动断触点串联5、o(Or 或动合):用于动合触点并联6、ON(Or Not 或动断):用于动断触点并联7、(Out输出):用于线圈输出8、OLD…

touchesEnded不响应

为什么80%的码农都做不了架构师&#xff1f;>>> http://blog.csdn.net/assholeu/article/details/16363241 touchesEnded不响应主要存在以下几种情况 case 1 : userInteractionEnabled 部分控件如UIImageView&#xff0c;userInteractionEnabled默认为NO&#xff0…

iOS开发人员不容错过的10大工具

内容简介 1、iOS简介 2、iOS开发十大实用工具之开发环境 3、iOS开发十大实用工具之图标设计 4、iOS开发十大实用工具之原型设计 5、iOS开发十大实用工具之演示工具 6、iOS开发十大实用工具之视频制作 7、iOS开发十大实用工具之分析工具 iOS简介 说起iOS&#xff0c;自然不必多介…

算法学习系列(十):用数组模拟链表、双链表、栈、队列、单调栈、单调队列

目录 引言一、数组模拟链表1.模板2.例题3.测试 二、数组模拟双链表1.模板2.例题3.测试 三、数组模拟栈1.模板2.例题3.测试 四、数组模拟队列1.模板2.例题3.测试 五、数组模拟单调栈1.例题模板2.测试 六、数组模拟单调队列1.例题模板2.测试 引言 首先说一下为什么要拿数组来模拟…

为什么你的路由器穿墙能力差?看完秒懂

1、信号弱赖我咯? 不管你承认与否&#xff0c;只要有墙家中就会存有信号死角&#xff0c;不要小看一墙之隔。如何让路由器的信号增强? 网上一搜旁门左道真不少&#xff0c;什么调整天线寻找合理角度&#xff0c;又或是用易拉罐DIY一个信号放大器&#xff0c;然鹅并非简单的将…

fish工具_Python程序员使用哪些开发工具

Python程序员使用哪些开发工具?很多Python学习者想必都会有如下感悟&#xff1a;最开始学习Python的时候&#xff0c;因为没有去探索好用的工具&#xff0c;吃了很多苦头。后来工作中深刻体会到&#xff0c;合理使用开发的工具的便利和高效。今天&#xff0c;北京学佳澳小编总…

[shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证

本文地址&#xff1a;http://blog.csdn.net/sushengmiyan/article/details/39933993shiro官网: http://shiro.apache.org/shiro中文手冊&#xff1a;http://wenku.baidu.com/link?urlZnnwOHFP20LTyX5ILKpd_P94hICe9Ga154KLj_3cCDXpJWhw5Evxt7sfr0B5QSZYXOKqG_FtHeD-RwQvI5ozyT…

Web安全之Cookie劫持

1.Cookie是什么? 2.窃取的原理是什么? 3.系统如何防Cookie劫持呢? 看完这三个回答&#xff0c;你就明白哪位传奇大侠是如何成功的!!! Cookie: HTTP天然是无状态的协议&#xff0c;为了维持和跟踪用户的状态&#xff0c;引入了Cookie和Session。Cookie包含了浏览器客户端的用…