Maven私服搭建及使用
文章目录
Nexus的作用
Maven私服的作用:
- 加快第三方jar引用速度
- 缓存第三方jar
- 托管自己开发的jar以便其他项目引用
作为Java开发者,maven的jar包最常用的镜像仓库应该是阿里云的镜像。但是阿里云的镜像只能解决引用第三方jar的速度,并不能托管自己开发的jar。
而Nexus即一款可实现托管自己开发的jar功能的软件。
Nexus安装
为了简化安装难度,使用docker一键安装,centos安装及使用Docker compose自行搜索
|
|
前端nginx对应的conf
|
|
启动后即可通过 nexus.au92.com访问 maven私服。
Nexus设置
- 设置阿里云的proxy进一步加快nexus首次加载第三方jar的速度
- 登录上一步搭建好的nexus(默认密码admin、admin123),依次选择
Server administration and configuration->Repository->Repositories->Create repository
- 选择
maven2 (proxy)
,如图增加一个阿里云的proxy - 选择
maven2 (group)
,如图增加刚创建的阿里云Proxy到新的maven group中,并设置为优先通过阿里云的proxy加载jar
- 选择
- 登录上一步搭建好的nexus(默认密码admin、admin123),依次选择
- 设置可以发布release包,如不设置默认不可以发布releases类型jar到私服中
Repositories
选择maven-releases
并设置Deployment policy
为Allow redeploy
maven settings.xml的settings内容
|
|
注:截止发文时间,文中使用的nexus3版本为OSS 3.18.1-01。
IDEA及项目中配置
-
打开IDEA编辑器,选择
Preferences->Build, Execution, Develoyment->Build Tools->Maven
,设置User settings file
为上述settins.xml的地址。 -
maven的POM文件增加
|
|
碰到的问题
- 上传jar时候提示
with status code 413
大概率是因为项目build出的jar文件过大,增大nginx的client_max_body_size
即可 附本人使用的nginx.conf文件1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 51200; multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server_tokens off; access_log off; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 200m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]\."; include /etc/nginx/conf.d/*.conf; }
文章作者 P.X.C
上次更新 2019-10-03
许可协议 不允许任何形式转载。