005—Maven私有仓库搭建,插件使用等

材料准备

  1. maven3.X 下载 :
    http://maven.apache.org/download.cgi
  2. Maven 私服仓库地址:
    https://www.sonatype.com/download-oss-sonatype

配置环境变量

005—Maven私有仓库搭建,插件使用等_第1张图片
环境变量

如果是linux

vim etc/profile
export M2_HOME=/Users/chenhualong/Documents/dev_tool/apache-maven-3.0.5
export PATH=$PATH:$M2_HOME/bin/
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
source etc/profile

配置path路径

005—Maven私有仓库搭建,插件使用等_第2张图片
path路径

测试

005—Maven私有仓库搭建,插件使用等_第3张图片
看到版本号

配置公司单独的私服仓库


nexus
*
http://maven.XXXX.com:8081/nexus/content/groups/public/


在另外公司,用的下面这个。

alimaven
aliyun maven
http://repo.XXXXXX.net/repository/maven-public/
central

配置用户组和权限



releases

admin
admin123




snapshots

admin
admin123



maven-central

admin
admin123



maven-3rdParty

admin
admin123

利用命令推送本地Jar包到私服

mvn deploy:deploy-file -DgroupId=tk.mybatis -DartifactId=mapper -Dversion=3.3.9 -Dpackaging=jar -Dfile=C:\Users\lemon\Desktop\tk\mybatis\mapper\3.3.9\mapper-3.3.9.jar -Durl=http://repo.XXXXXX.net/repository/maven-3rdParty/-DrepositoryId=maven-3rdParty

Maven的依赖返回

classpath 分为三种:编译 classpath , 测试 classpath , 运行 classpath
Scope 选项如下:
Compile:编译依赖范围。默认就是 compile。在编译,测试,运行都有效;
Test:测试依赖范围。仅测试有效; 例如 JUnit;
Provided:已提供依赖范围。编译,测试有效,运行时候无效。例如 servlet-api。
System:系统依赖范围。(了解即可)使用 system 范围的依赖必须通过 sytemPath 指定依赖文件的路径。
Import:导入依赖范围。(了解即可)使用 dependencyManagement 时候,可以导入依赖配置

利用idea构建多模块maven项目

* 新建maven,不要勾选任何的archetype.然后填写artifactId和groupId。
* 删除SRC目录,只剩下pom文件即可。
* 新建module,然后通知不勾选任何的archetype,自己构建目录即可。
* 例子中,首先加入moudle,这个顺序需要注意,不然构建会报错。


lemon-maven-module
lemon-maven-dao
lemon-maven-service
lemon-maven-web



org.springframework.boot
spring-boot-starter-parent
1.5.6.RELEASE
 

其中,dao依赖module,service依赖dao,web依赖service. 在web层,我们新建run启动方法,然后配置文件之类的写在web层。
在启动的时候,最好web,把所有的module都依赖上,这样就完全没有问题。

多模块项目打包

先配置web层的pom文件




org.springframework.boot
spring-boot-maven-plugin



repackage






,就可以打出可执行的包了。注意打包顺序,被依赖的先打。
[INFO] Reactor Summary:
[INFO]
[INFO] lemon-maven-parent ................................. SUCCESS [ 0.876 s]
[INFO] lemon-maven-module ................................. SUCCESS [ 0.755 s]
[INFO] lemon-maven-dao .................................... SUCCESS [ 0.087 s]
[INFO] lemon-maven-service ................................ SUCCESS [ 0.043 s]
[INFO] lemon-maven-web .................................... SUCCESS [ 0.444 s]

搭建maven私服

* 解压私服程序 tar xzvf nexus-oss-webapp-1.8.0-bundle.tar.gz
* 启动私服程序 ./nexus start
* 访问私服 : http://host:8081/nexus
* 登陆: admin/admin123
* 点击Repositories,选择public reposotories,下方选择configuration,选择需要留下的组移动过去
* remote storage location 里面填写; http://repo1.maven.org/maven2/

常用的maven插件

maven-jetty-plugin

输入:mvn jetty:run。这将在端口为8080的Jetty服务器上启动你的项目。Jetty将持续运行,直到插件是明确停止。例如,按下,或使用mvn jetty:stop命令



rop-sample



org.mortbay.jetty
maven-jetty-plugin
6.1.5

src/main/webapp
3
/


8088







maven-compiler-plugin 需要在编译和生成的时候使用不同的jdk版本


org.apache.maven.plugins
maven-compiler-plugin
3.5.1

1.6
1.7



maven-war-plugin

打包war项目的时候排除某些web资源文件,这时就应该配置maven-war-plugin如下

 
org.apache.maven.plugins
maven-war-plugin
2.1.1



src/main/webapp

**/*.jpg





maven-source-plugin 生成源码包


org.apache.maven.plugins
maven-source-plugin
2.1.2


attach-sources
verify

jar-no-fork





maven-javadoc-plugin 生成javadoc包
org.apache.maven.plugins
maven-javadoc-plugin
2.7


attach-javadocs

jar




maven-assembly-plugin
它支持各种打包文件格式,包括zip、tar.gz、tar.bz2等等,通过一个打包描述文件(该例中是src/main/assembly.xml),它能够帮助用户选择具体打包哪些文件集合、依赖、模块、和甚至本地仓库文件,每个项的具体打包路径用户也能自由控制。如下就是对应上述需求的打包描述文件src/main/assembly.xml



bin

zip



true
lib




/

README.txt



src/main/scripts
/bin

run.sh
run.bat





org.apache.maven.plugins
maven-assembly-plugin
2.2.1


src/main/assembly/assembly.xml




make-assembly
package

single





maven-surefire-plugin 打包时跳过单元测试


org.apache.maven.plugins
maven-surefire-plugin
2.16

once
-Dfile.encoding=UTF-8

你可能感兴趣的:(005—Maven私有仓库搭建,插件使用等)