zoukankan      html  css  js  c++  java
  • maven使用

    简单说说maven,比如maven的常用命令,毕竟这是上次面试没回答上的问题(尴尬)。

    mvn compile:,用于编译源代码,也可以调用 mvn clean compile,表示先运行清理之后运行编译,会将代码编译到target文件夹中。

    调用mvn compile后在target下生成了一个文件夹:

    只是生成的这俩lst文件,不清楚拿来做什么的。

    调用mvn clean后,又清空了target文件夹下的内容。

    mvn package用于打包,生成的jar包也在target目录下,但是调用没有生成,mvn clean package后成功:

    maven install:在本地repository中安装jar包,

    运行成功,提示在mavenResp下生成了相应jar包,

     由于没有写单元测试,mvn test就没用。(JUnit单元测试是下一个要讨论的问题)。

    mvn dependency:sources 

    下载相应jar包的源码,也可以在eclipse中,window->preference->maven->勾选download artifact sources,以及java doc

    或者在pom.xml中,增加:

    <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.9</version>
            <configuration>
              <downloadSources>true</downloadSources>
              <downloadJavadocs>true</downloadJavadocs>
            </configuration>
    </plugin>

    ps: 后两个方法没有实践过。

    mvn compile与mvn install、mvn deploy的区别

    1. mvn compile,编译类文件
    2. mvn install,包含mvn compile,mvn package,然后上传到本地仓库
    3. mvn deploy,包含mvn install,然后,上传到私服

     显示版本信息 :

    mvn -version/-v

     创建mvn项目:

    mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app

    PS:

      一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。

    说完了maven的常用命令,再倒过来说说maven的安装,下载一个maven的zip包,解压到:

    在环境变量里设置maven的路径如上,mvn命令生效表示安装上。

     打开E:apache-maven-3.5.2conf下的setting.xml文件,修改如下两个配置:

    localRepository表示本地仓库路径,怎么理解maven的仓库呢,我认为,就是传统的J2EE项目,jar包都是在随着工程一期的,在build path里配置,

    同时保存在web_inf/lib下,需要引入什么jar包,得自己去下载然后倒入,但是maven把这些jar包给统一管理起来,服务端存着几乎所有的jar包,本地

    需要的话,就在pom.xml中配置依赖,maven自动帮你下载到本地仓库中,然后所有项目共享jar包,不只是共享maven上下下来的jar包,也可以把自己

    的工程编译成jar供其他应用调用,至于这个公共的服务端默认是外国的,mirror配置成了阿里云的镜像。如下是一个pom.xml的实例:

    在说一下artifactId和groupId的命名,

    前者就是(算了,百度下):

    GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。

    ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

    还有就是:

    比如我们需要用到一个jar包,比如spring的,但是又不知道他的artifactId和groupId,怎么办呢?

    找个网站就好了。http://mvnrepository.com/

    以下摘抄自:

    https://blog.csdn.net/bloomzy/article/details/26002259

    5个必须掌握的maven命令

    1. mvn help:describe 你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的. 参数: 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:与-Dplugin一起使用,它会列出某个插件的goal信息,如果嫌不够详细,同样可以加-Ddetail.(注:一个插件goal也被认为是一个 “Mojo”) 下面大家就运行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!

    2. mvn archetype:generate 你是怎么创建你的maven项目的?是不是像这样:mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common,如果你还再用的话,那你就out了,现代人都用mvn archetype:generate了,它将创建项目这件枯燥的事更加人性化,你再也不需要记那么多的archetypeArtifactId,你只需输入archetype:generate,剩下的就是做”选择题”了.

    3. mvn tomcat:run 用了maven后,你再也不需要用eclipse里的tomcat来运行web项目(实际工作中经常会发现用它会出现不同步更新的情况),只需在对应目录(如/ryanote)里运行 mvn tomat:run命令,然后就可在浏览器里运行http://localhost:8080/ryanote查看了.如果你想要更多的定制,可以在pom.xml文件里加下面配置: 01 02 03 04 org.codehaus.mojo 05 tomcat-maven-plugin 06 07 /web 08 9090 09 10 11 12 当然你也可以在命令里加参数来实现特定的功能,下面几个比较常用: 1. 跳过测试:-Dmaven.test.skip(=true) 2. 指定端口:-Dmaven.tomcat.port=9090 3. 忽略测试失败:-Dmaven.test.failure.ignore=true 当然,如果你的其它关联项目有过更新的话,一定要在项目根目录下运行mvn clean install来执行更新,再运行mvn tomcat:run使改动生效.

    4. mvnDebug tomcat:run 这条命令主要用来远程测试,它会监听远程测试用的8000端口,在eclipse里打开远程测试后,它就会跑起来了,设断点,调试,一切都是这么简单.上面提到的那几个参数在这里同样适用.

    5. mvn dependency:sources 故名思义,有了它,你就不用到处找源码了,运行一下,你项目里所依赖的jar包的源码就都有了

    --------2018.06.20更新--------

    项目中新引入了一个jar包,而这个jar包在maven远程仓库里没有,于是我们在我们的工程里面新建一个mavenlib目录,将这个jar包拷进去,然后新建一个bat文件,内容如下:

    ::
    
    set project_path=%~dp0
    
    call mvn install:install-file -Dfile=%project_path%/mavenlib/ojdbc-7.jar -DgroupId=com.oracle -DartifactId=ojdbc -Dversion=7 -Dpackaging=jar
    call mvn install:install-file -Dfile=%project_path%/mavenlib/jasperreports-6.1.2.jar -DgroupId=net.sf.jasperreports -DartifactId=jasperreports -Dversion=6.1.2 -Dpackaging=jar
    call mvn install:install-file -Dfile=%project_path%/mavenlib/jasperreports-fonts-cupid-extension-4.0.2.jar -DgroupId=com.venustech -DartifactId=jasperreports-fonts-cupid-extension -Dversion=4.0.2 -Dpackaging=jar
    call mvn install:install-file -Dfile=%project_path%/mavenlib/jradius-core-ca-1.1.5.jar -DgroupId=net.jradius -DartifactId=jradius-core-ca -Dversion=1.1.5 -Dpackaging=jar
    
    pause
    

      即可将本地的jar包install到maven工程里去。

     此时仍然报错,选中项目,右键maven-->update project。(不明其意),即可。

  • 相关阅读:
    176. Second Highest Salary
    175. Combine Two Tables
    172. Factorial Trailing Zeroes
    171. Excel Sheet Column Number
    169. Majority Element
    168. Excel Sheet Column Title
    167. Two Sum II
    160. Intersection of Two Linked Lists
    个人博客记录
    <meta>标签
  • 原文地址:https://www.cnblogs.com/cherishBlueSky/p/9149118.html
Copyright © 2011-2022 走看看