常用命令
Maven2 的运行命令为 : mvn ,
常用命令为 :
mvn archetype:create :创建 Maven 项目
mvn compile :编译源代码
mvn test-compile :编译测试代码
mvn test : 运行应用程序中的单元测试
mvn site : 生成项目相关信息的网站
mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
(忽略单元测试:mvn -Dtest -DfailIfNoTests=false package )
mvn install :在本地 Repository 中安装 jar
(mvn install:install-file -DgeneratePom=true -DgroupId=com.shunwang.swpay -DartifactId=swpay -Dversion=0.0.1 -Dpackaging=jar -Dfile=F:/新框架/swframe.jar )
mvn eclipse:eclipse :生成 Eclipse 项目文件
生成项目
建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App
建一个 web 项目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
生成 Eclipse 项目
普通 Eclipse 项目执行 : mvn eclipse:eclipse
Eclipse WTP 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0
( wtp1.0 以上版本均可用)
在 Eclipse 里面 file>import
然后选择 General>Existing Projects into Workspace(如果安装了maven插件这个地方选择maven project,然后下一步找到pom.xml文件)
设置 maven 的路径变量 M2_REPO
Window -> Preferences -> Java -> Build Path -> Classpath Variables
New Name 命名 : M2_REPO
路径 :本地的 maven 类库地址
这里为 C:/Documents and Settings/{ 你的系统登录用户名 }/.m2/repository(自定义设置的仓库:修改.setting.xml文件<localRepository>C:/Java/Tools/apache-maven-2.0.8/M2Repository</localRepository> 并让ide内的setting.xml文件设置指向你得这个文件)
注意事项:
1、Maven默认的remote repository是ibiblio.org,这个地方有些人上不去,因此要更改一下。
Maven找寻配置参数的默认的顺序是从maven.jar中的defaults.properties开始。打开该文件,修改:
maven.repo.remote = http://apache.linuxforum.net/dist/java-repository, http://dist.codehaus.org, http://mirrors.sunsite.dk/maven/, http://public.planetmirror.com/pub/maven, http://www.ibiblio.org/maven
可在以下两个网站查阅:http://mvnrepository.com/,http://repo1.maven.org/maven2/
2、Maven默认的本地文件保存在Document and Setting的user.home里面,非常不便。
在%MAVEN_HOME%下建立一个local目录,将本地的repostiory保存在此,以免重装系统丢失。
maven.home.local = ${maven.home}/local
3、Maven的提示语言在中文环境中可能出现乱码,进入maven.jar,
发现org/apache/maven/messages目录下的messages_zh_CN.properties里面直接写了中文字符。删掉它!就不会乱码了。
(或者用native2ascii转换)
4、Maven中最大的麻烦之处就是不能从Maven存储库中获取Sun的jar文件。这个问题归因于Sun在其代码中设置的许可证限制。解决这个问题的办法有两种,一种是下载这些代码并将它们安装在您本地的存储库中,另一种是做一个外部声明,并将这个声明指向文件系统中依赖项所在的位置。希望Sun能够尽早地创建自己的存储库,尽管如此,Maven也会被升级来使之能够下载这些资源,只是在下载之前它会提示用户接受许可证协议。
5、另外一个麻烦的地方就是有时候使用的最新的库文件可能在远程存储库中不存在。另一种可能是由于无法访问Internet,需要所有的依赖项都能在本地获取。这些问题的最好解决方案就是将jar文件安装到本地的存储库中。将本地的存储库放在一台web服务器上也同样是个便利之举,这样整个开发团队就能从此获益,每个人都没有必要去管理自己的存储库了。改变Maven的存储库路径只需简单地编辑其安装目录下conf文件夹下面的settings.xml文件即可。
IDE下的问题
1. 当 M2eclipse 插件装上之后,会报这个错
Eclipse is running in a JRE, but a JDK is required
Some Maven plugins may not work when importing projects or updating source folders.
解决办法 :查看 eclipse/readme/readme_eclipse.html 里面有详细说明,在 Selecting a workspace 这一节
创建一个快捷方式,设定目标位置为 D:/eclipse_jee/eclipse.exe -vm D:/Java/jdk1.5.0_10/bin/javaw
因为默认 vm 为 jdk/jre/bin/javaw ,直接改到 jdk 下,错误即可消除
2. 使用命令 mvn eclipse:eclipse –Dwtpversion=1.0 之后,导入的项目 Project Facet 的 java 还是 1.4 ,而我 Eclipse 上设置的是 5.0
解决办法 :在 pom.xml 中 plugins 加入说明就可以了
Xml代码
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
- </plugins>
<plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins>
3. 在使用命令mvn eclipse:eclipse 之后,import到Eclipse,然后在Eclipse项目上点右键,选择插件Maven>Enable Dependency Management后,会报重复引用依赖的错误
解决办法 :再执行mvn eclipse:eclipse然后刷新Eclipse的项目,取消掉maven插件的引用依赖,错误就会消除
4. Failure executing javac, but could not parse the error:
编译器 (1.5.0_10) 中出现异常。 如果在 Bug Parade 中没有找到该错误,请在 Java Developer Connection (http://java.sun.com/webapps/bugreport ) 对该错误进行归档。 请在报告中附上您的程序和以下诊断信息。谢谢您的合作。
java.nio.BufferOverflowException
解决办法 :(临时)在控制面板中将区域与语言选项中,把当地语言设为英语