maven简单应用解析

新建maven工程时

1故障:-Dmaven.multiModuleProjectDirectory system property 

is not set. Check $M2_HOME environment variable and mvn 

script match.

 

去java中jdk版本设置的位置"编辑",Default Vm...后面

拷贝粘贴:注意M2_HOME是maven环境变量的名称我的是M2_HOME

-Dmaven.multiModuleProjectDirectory=$M2_HOME

 

 

2出现白本错误多数因为eclipse的启动内存问题

Maven创建 An internal error occurred during

 

eclipse.ini或者myeclipse.ini修改文件中的以下配置:

-Xms512m

-Xmx1024m

解释:第一个是最小的初始化内存,第二个是最大的占有内存

 

在测试类中如果@Test不能导入jar包

需要在pom.xml中更改junit的版本为4.9

 

3.在pom文件中dependency Hie...中可以看到jar包之间的依赖

4.Maven 中央仓库地址如下,另外一般都是进入页面后找到自己需要的jar包然后会自动出现GAV的书写直接      粘到pom文件即可,部分公司使用私人库下载:

    ①. http://www.sonatype.org/nexus/

    ②. http://mvnrepository.com/ (推荐仓库)

   ③ http://repo1.maven.org/maven2

 5依赖传递:jar包里面可能还要依赖别的jar包,例子:使用spring-test的jar包时,此jar包里还要一个spring-core包,而 这个包还需要依赖commons-logging包,此时即此工程和commons-logging包是依赖传递,

   最短路径:maven会自动寻找jar包中最短的路径使用

 6引用别的模块的包时,需要把g.a.v粘贴到主动引用的A工程中,前提是被引用工程B需要mvn install了,这样库中才有这个jar包

 7依赖排除:当B工程依赖A工程一部分jar包,则在B的pom中写中间是不需要的A中的jar包GAV

8聚合:成批量的管理子模块,避免每个工程都install一下.

0.0.1-SHAPSHOT

pom

    ../子模块名称

 继承:主要是指继承父工程中的jar包,可以简便的管理jar包的版本,抽出了常用的配置

4.2.5.RELEASE 

 

 

   org.springframework

   spring-webmvc

   ${spring-mvc.version}

 

 

 

       partner

    父工程名称

    0.0.1-SNAPSHOT

    ../父工程名称

 

 

   

   org.springframework

   spring-webmvc

 

 9如果是普通的web工程创建的时候不能再选择quckstar,而是选择webapp

10 scope意思是范围,

  例:  1

    junit

    junit

    4.9

    test

   

   说明是junit只在test时参与

  例2 

    org.springframework

    spring-test

    4.2.5.RELEASE

    compile

      

spring-test在compile即全程参与

另注依赖范围:

compile:默认是compile,对 编译+测试+运行 都有效

provided:对编译和测试,运行的时候不需要加入

runtime:只在测试和运行时 有效,比较典型的例子 jdbc api,只有在启动代码测试或者运行的时候才会启用

test:只会在测试时有效,比较典型例子 就是junit ,只有再测试的时候 才会启用

11另外注意在web工程中,添加jsp的servlet-api依赖时,需要参考web服务器的容器中是否有自带的servlet-api的jar包,此处可能造成冲突

你可能感兴趣的:(maven简单应用解析)