设为首页 收藏本站
查看: 1346|回复: 0

[经验分享] maven环境搭建到使用

[复制链接]

尚未签到

发表于 2017-3-2 10:03:32 | 显示全部楼层 |阅读模式
  一、maven环境配置
  从阿帕奇官网下载maven压缩包,官网地址:http://maven.apache.org/download.cgi
将下载文件解压,然后设置maven环境
如果你配置过jdk的话,这里对你应该不难。如我的maven环境为:D:\Program Files\apache-maven-3.3.9
我的电脑-----属性----高级-----环境变量-----环境变量-----新建
变量名:MAVEN_HOME
变量值:D:\Program Files\apache-maven-3.3.9
找到path
在环境变量值尾部加入:;%MAVEN_HOME%\bin;---前面注意分号
也可以直接在path 路径下加入:;D:\Program Files\apache-maven-3.3.9\bin
我新建立
打开命令提示符(开始---运行---cmd),输入java -version,javac,mvn -version检查我们的java环境和maven环境是否有误。
DSC0000.png DSC0001.png
2、修改仓库位置
修改我们仓库地址,仓库用于存放我们项目所依赖的所有jar包。
我的仓库路径:D:\Program Files\maven\repo----这个路径是我自己创建,你可以将路径创建在任何位置。
我们打开 D:\Program Files\apache-maven-3.3.9\conf\目录下的setting.xml文件,设置成我们创建的仓库路径
DSC0002.png
下面我们用一个命令验证一下。打开命令提示符,输入:mvn help:system
该命令会打印出所有的java系统属性和环境变量。这些信息对我们日常的编程工作很有帮且。
如果运行的过程中没有错误,打开我们仓库 D:\Program Files\maven\repo,会发现里面多了一些文件。这些文件就是我们从maven的中央仓库下载到本地仓库的

三、maven命令
1. 创建Maven的普通java项目:
   mvn archetype:generate
   -DgroupId=packageName
   -DartifactId=projectName  
2. 创建Maven的Web项目:   
    mvn archetype:generate
    -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
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插件。
mvn -version/-v  显示版本信息
mvn archetype:generate        创建mvn项目
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app   创建mvn项目
mvn package            生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
mvn jetty:run            运行项目于jetty上,
mvn compile                    编译
mvn test                    编译并测试
mvn clean                    清空生成的文件
mvn site                    生成项目相关信息的网站
mvn -Dwtpversion=1.0 eclipse:eclipse        生成Wtp插件的Web项目
mvn -Dwtpversion=1.0 eclipse:clean        清除Eclipse项目的配置信息(Web项目)
mvn eclipse:eclipse                将项目转化为Eclipse项目
在应用程序用使用多个存储库
<repositories>   
    <repository>      
        <id>Ibiblio</id>      
        <name>Ibiblio</name>      
        <url>http://www.ibiblio.org/maven/</url>   
    </repository>   
    <repository>      
        <id>PlanetMirror</id>      
        <name>Planet Mirror</name>      
        <url>http://public.planetmirror.com/pub/maven/</url>   
    </repository>  
</repositories>

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/

发布第三方Jar到本地库中:
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar

-DdownloadSources=true
-DdownloadJavadocs=true
mvn -e            显示详细错误 信息.
mvn validate        验证工程是否正确,所有需要的资源是否可用。
mvn test-compile    编译项目测试代码。 。
mvn integration-test     在集成测试可以运行的环境中处理和发布包。
mvn verify        运行任何检查,验证包是否有效且达到质量标准。     
mvn generate-sources    产生应用需要的任何额外的源代码,如xdoclet。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lifxue/archive/2009/10/14/4662902.aspx
常用命令:
mvn -v 显示版本
mvn help:describe -Dplugin=help 使用 help 插件的  describe 目标来输出 Maven Help 插件的信息。
mvn help:describe -Dplugin=help -Dfull 使用Help 插件输出完整的带有参数的目标列
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 获取单个目标的信息,设置  mojo 参数和  plugin 参数。此命令列出了Compiler 插件的compile 目标的所有信息
mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目标
mvn help:effective-pom 看这个“有效的 (effective)”POM,它暴露了 Maven的默认设置
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 创建Maven的普通java项目,在命令行使用Maven Archetype 插件
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件让我们能够在不往 classpath 载入适当的依赖的情况下,运行这个程序
mvn dependency:resolve 打印出已解决依赖的列表
mvn dependency:tree 打印整个依赖树
mvn install -X 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行
mvn install -Dmaven.test.skip=true 给任何目标添加maven.test.skip 属性就能跳过测试
mvn install assembly:assembly 构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件
mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用
mvn compile 编译你的项目
mvn clean install 删除再编译
mvn hibernate3:hbm2ddl 使用 Hibernate3 插件构造数据库

四、maven与eclipse整合
1、打开Eclipse,依次打开Windows-->Prefrences,点击Maven的右边的三角符号,以展开Maven的配置界面
DSC0003.png
2、之后,点击Maven下面的Installations,请点击Add,请选择你的Maven的安装目录,这里我的Maven的安装目录为D:\Program Files\apache-maven-3.3.9  ,选择你的Maven安装目录,并点击确定, 之后可以点击Apply,点击OK,即可完成
DSC0004.png

3、点击Maven下面的User Settings,设置mvn的settings.xml及其指向的mvn仓库位置,之后可以点击Apply,点击OK,即可完成
DSC0005.png

五、使用maven创建项目
1.命令方式创建Maven项目:
命令输入:mvn archetype:generate -DgroupId=com.mkyong -DartifactId=CounterWebApp -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false
DSC0006.png
  当然这个空的项目,只有一个index.jsp页面,打包发布运行。
  在命令行切换到CounterWebApp目录,执行:mvn package,构建成功后,CounterWebApp目录下多了一个target目录,在这个目录下会打包成CounterWebApp.war。
DSC0007.png

  把这个war包拷贝到Tomcat的发布目录下(D:\Program Files\Apache Software Foundation\Tomcat7\webapps)就可以运行了。
DSC0008.png

  代码上传至github
  Github地址:https://github.com/Neonuu/CounterWebApp
  2.eclipse中创建mven项目
  新建mven项目,点击next
DSC0009.png

  勾选第一个选项,点击next
DSC00010.png

  填写信息,点击finish
DSC00011.png

项目可能报错,需要进行配置
DSC00012.png

右键工程——Properties——Project Facets,将Dynamic Web Module取消掉,选择Java的版本为1.7(与你自己的java环境版本匹配),点击Apply
DSC00013.png
然后保持在本窗口不变,勾选Dynamic Web Module,并选择版本为3.0
DSC00014.png
点击下方的Futher configuration acailable...,进入如下窗口,修改信息,勾选Generate web.xml deployment descriptor,点击ok
DSC00015.png
返回到Properties窗口,点击Apply,应用成功后,保持在Properties窗口,点击Deployment Assembly
DSC00016.png
点击ADD,选择Folder,点击Next
DSC00017.png
选择target——m2e-wtp——web-resources文件夹,点击finish
DSC00018.png
返回到Properties窗口,点击ok,项目不再报错
DSC00019.png

然后配置pom.xml,在<project>节点下添加:
  <!-- 依赖servlet,导入servlet包 -->
   <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
    <build>
    <plugins>
       <!-- 声明jdk编译版本1.7  -->
       <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
          <version>3.1</version>
         <configuration>
              <source>1.7</source>
              <target>1.7</target>
         </configuration>
      </plugin>
      <!-- tomcat插件 -->
      <plugin>
        <groupId>org.apche.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
      </plugin>
    </plugins>
  </build>



<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zp</groupId>
<artifactId>test3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!-- 依赖servlet,导入servlet所需jar包  -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 声明jdk编译版本1.7  -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<!-- tomcat插件 -->
<plugin>
<groupId>org.apche.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</build>
</project>
  在pom.xml中配置了tomcat插件后,maven项目无需再部署到eclipse中或本地中的tomcat便能运行
  更新maven项目,下载依赖所需的jar包:
  右键工程——Maven——Update Project
  运行:
  右键工程——run as——run configuration...——goals:tomcat:run——点击run,项目运行

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-349143-1-1.html 上篇帖子: 04 Apache Solr: 目录结构 下篇帖子: eclipse使用maven插件创建web项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表