maven---边摸边学
最近,一直沉醉于神奇的maven,从开始的极其排斥,觉得他部署的时候很慢,到部署第二个项目、第三个,自己简历了jar仓库nexus,有点小爱他了,慢慢的开始扣点细节。。今天先分享一部分,也是写下来,记录下,以后自己也能看!
开始觉得好神奇,看了很多大神的pom配置的文章,每次google我碰到的“红线”problem,真的都有答案。。。
废话多了。回归整体。。pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>yl.zc</groupId><artifactId>fileuploadDemo</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>fileuploadDemo Maven Webapp</name><url>http://maven.apache.org</url><dependencies><!--自己要的包 --> </dependencies><build><finalName>fileuploadDemo</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>${java.version}</source><target>${java.version}</target><encoding>utf8</encoding></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.6</version><configuration><encoding>UTF-8</encoding></configuration></plugin></plugins></build>[color=red]<properties>[/color]<java.version>1.7</java.version><junit.version>4.4</junit.version></properties></project>这代码先看。
这里讲下,我觉得的个人觉得的重点。
一、<properties>,
他就有点面向对象,封装的感觉了。。这个对象全局通配了一些属性,比如我的javaversion。虽然用的也没很多地方,但是就是这个思想,<plugins>里面配置我觉得2个很必要的maven plugin ,这2个一配置,然后你点击maven updateproject,你会发现,很多错误都避免了。包括编码,compiler环境。。。。省去刚玩maven的兄弟很多时间
二、常见错误,
1)tools1.5missing:网上有说,加
1、-vm.....,
2、
<dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.4.2</version> <scope>system</scope> <systemPath>C:/Program Files/Java/jdk1.6.0_30/lib/tools.jar</systemPath> </dependency>
等等。。。大同小异。。。
3、小于我觉得一劳永逸,以后pom里面都懒得写的方法,就是
window-preferences-java-Installed JREs----找到jre ,edit,改成你自己java 的jre以后,在把jdk里面的tools.jar也加进去!
从此不再累,又可以相信爱情了!!hiahia,有木有很容易。。。
2)*.jar missing 、not found:这个相信是刚开始玩maven,pom配置最常出现的问题了,一般有,肯定是包没下载好,比如我们公司就是破网速,mavenresponse的东西就是下不下来,这点,用个 snoatype nexus真的搞定,然后还有,那就是你没配置maven plugins,错哪个,改下,改个版本高点的。我上面的2.6就是从默认的2.5改高。就OK了,然后update maven project看看效果,别的maven plugin miss也同理,还错?NM的(我刚开始的时候还真被这样玩疯掉过),去你setting设置的response地址里面,把东西全删了,重新下遍。再次提起nexus的重要性啊。
如果你是网上下的一些maven demo 出错,别急,看看他们是否有配置 response地址,像google的项目,他们都有自己的仓库地址,不会去maven中心库下的。还发现更好的办法,以后迭代这个文章吧
3)Dynamic web module version问题
相信你们通过IDE创建的maven项目,version 一般都低于2.5吧。我也不清楚为啥,chinglish水平不高啊,没法,外国人都好多问题的。
查下,让你 去Facets里面改,竟然又could not change,那丝为什么呢?我说下我的解决办法,step1、找到项目位置,把.settings文件夹里面的“org.eclipse.wst.common.project.facet.core.xml”删了,要删自己项目里面的哈,别删错了。。然后去Facets设置,一般jdk1.6=version2.5,jdk1.7=version3.0,java就是自己jdk版本,javascript1.0 1.1你决定,然后执行,maven update project..搞定!
就先这样吧。。O了
1 楼 freerambo 昨天 字字珠玑,很受用 2 楼 liubey 昨天 可以指定wtpversion