发表于: 2018-03-21 23:55:16

2 690



day5


今天完成的事情:



1.maven中的一些指令


首先附上生命周期命令:

 --clean  :  清除

 --compile :编译

 --test  :  测试

 --package:打包

 --install:安装到本地仓库

 --deploy:部署,部署到私服(局域网或者是外网)

 

以下为实践:


 在命令行进入通过DOS命令进入myhello文件夹,然后输入 mvn compile

dos命令 'g:' 进入G盘,'cd 路径'进入相应文件夹


 由于mevan默认是没有生命周期插件的,当我们输入生命周期命令(如: mvn compile),会自动开始下载


会将文件下载到本地仓库的路径下。即在conf下的setting中设置的那个路径下,一般默认是.m2,这里改到了E:/mvn_repo/repository。


在本地仓库下(E:/mvn_repo/repository),我们找到了它刚刚下载的插件。


随便打开一个可以看到有相应的jar包在里面


在项目的pom文件里,可以看到有声明依赖3.8.1版本的junit。


在本地仓库中,也可以找到对应版本的junit


可以看到是从中心仓库对应的网址下载的


我在项目文件夹下特意删除了target文件夹,但是现在又有了


因为执行 mvn compile后,会自动创建target文件夹,并将src里的Java文件编译成的class文件输出到target中。


再输入 mvn test指令,会和上面一样再次下载相关插件,下载完执行完毕后,

在target文件夹下又会多出对应的测试类文件,同样在本地仓库也可以找到下载的对应版本junit jar包。


其实会发现,执行test要用到junit jar包,但是在myhello中是没有相关jar包的(特意找了下),因为它是通过pom文件中的声明依赖包处引用了本地仓库的jar包,而如果本地仓库没有,即会去中心仓库下载,

而中心仓库其实就是个总网站,里面有各种各样各种版本的一应俱全的包

下面执行mvn clean


然后项目下target没有了


执行 mvn package (打包命令),发现先执行编译,再测试,最后才打包


 打开target可以看到以下文件,最下面是jar包

 

 

执行 mvn clean install (组合命令,会先执行clean,再执行install)

同样会按顺序 编译-->测试-->打包-->安装,

target下的文件状态和执行打包时一样,但是打开本地仓库,可以看到多了我们的MyHello


点进去就找到了安装的jar包



2.maven命令插件和第三方依赖jar包从哪下载的

在maven安装路径的lib目录下(我的是E:\apache-maven-3.5.3\lib),找到maven-model-builder-3.5.3.jar,

打开后找到它的pom文件,打开该文件发现如下:

上面的<repositories>标签内配置的是第三方jar包下载地址,下面的<pluginRepositories>标签内配置的是maven生命周期插件下载地址,都是中心仓库的地址。


那么这些东西下载到了哪呢,自然是maven安装路径的conf目录下的setting文件里的设置处:



3.maven仓库

    

    本地仓库      localRepository    面向本地的

    通过setting设置

    

    中心仓库     Central Repository      面向全球的

    网址:https://repo.maven.apache.org/maven2 或 http://search.maven.org



4.maven坐标


由 groupId + artifactId + version 组成


groupId,组Id,类似公司包名

artifactId,构建物Id,类似产品Id

version ,版本号

比如今天的项目,部署到了本地首先看到的是组id,

点进去是构建物id,

再点击去是版本号

再点进去是我们的jar包,

而jar包名的组成形式是    artifactId-version.jar   ,如下:



明天计划的事情:


再探究下maven,尽量开始进行下一个子任务


遇到的问题:


今天没什么值得记录的问题呢


收获:


算是加深了对maven的认识吧





返回列表 返回列表
评论

    分享到