1.简单了解:项目配置文件:pom.xml,在文件中描述需要哪些jar,可以自动联网更新,我们只需要描述一下,需要用到什么组件,就可以自动获得这些jar包,及其依赖。Maven是一个独立的程序,可以不依赖开发工具,是基于命令行的软件。版本比较新的Eclipse都会内置Maven环境,无需下载。
2.根据pom.xml文件寻找jar包及其依赖包,会连接到网络仓库进行下载,把下载的jar包存到本地,涉及到两个概念:远程仓库,本地仓库()。Maven会先加载本地仓库,如果仓库中不存在这个包,则会联网更新。
3.修改maven本地仓库(默认地址 C盘:在用户目录下的.m2/repository):如果你的本地文件空间充足可以选择忽略这步。
(1)首先打开eclipse工具,Windows ——> Preferences ——> 搜索 maven ——> UserSettings ,查看本地仓库的路径。如图
(2)随意空间充足的盘下去建仓库存放文件夹(建议根据Local Repository 下的仓库地址路径 在你内存充足的盘中去命名)(3)官网下载maven包,在conf下导出settings.xml 复制到刚建立的根文件夹里
(4)第一部打开UserSttings中第二行User Settings 导入第三部存放的settings.xml 的文件夹路径 如图
(5)在settings.xml 同级下建一个名为repository(建议命名,随意叫)的文件夹
(6)复制settings.xml中53代码到 空白处 修改为你的repository的地址的全路径。 例如图
(7)点击Update Settings 完成配置修改maven本地仓库 如图所示
Maven火速上手,配置本地仓库
配置阿里云中央仓库
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
Maven常用插件
maven-compiler-plugin
<plugin><!-- 指定maven编译的jdk版本,如果不指定,maven3默认用jdk 1.5 maven2默认用jdk1.3 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration> <!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 --> <source>1.8</source> <!-- 源代码使用的JDK版本 --> <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 --> <encoding>UTF-8</encoding><!-- 字符集编码 --> <skipTests>true</skipTests><!-- 跳过测试 --> <verbose>true</verbose> <showWarnings>true</showWarnings> <fork>true</fork><!-- 要使compilerVersion标签生效,还需要将fork设为true,用于明确表示编译版本配置的可用 --> <executable><!-- path-to-javac --></executable><!-- 使用指定的javac命令,例如:<executable>${JAVA_1_4_HOME}/bin/javac</executable> --> <compilerVersion>1.3</compilerVersion><!-- 指定插件将使用的编译器的版本 --> <meminitial>128m</meminitial><!-- 编译器使用的初始内存 --> <maxmem>512m</maxmem><!-- 编译器使用的最大内存 --> <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument><!-- 这个选项用来传递编译器自身不包含但是却支持的参数选项 --> </configuration> </plugin>
上面是完整配置,实际上我们通常用下面这段:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin>
tomcat7-maven-plugin
可以远程项目部署
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://59.110.162.178:8080/manager/text</url> <username>linjinbin</username> <password>linjinbin</password> </configuration> </plugin>
不过通常我们都是用于快速本地部署
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <path>/</path> <port>9090</port> <uriEncoding>UTF-8</uriEncoding> </configuration> </plugin> </plugins> </build>
java目录和resources目录,统称为classpath
地址栏的字符集称为uriEncoding,默认字符集ISO-8859-1
设置maven属性
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> </properties>