maven私服nexus搭建+mybatisplus使用

7 篇文章 0 订阅
5 篇文章 0 订阅

目录

maven私服nexus搭建

1、maven介绍

2、maven私服仓库图示

3、maven下载安装和配置

3.1 下载maven

3.2 配置安装目录下conf\settings.xml文件

4、idea中安装配置maven

5、maven生命周期

6、maven项目对象模型(pom)

7、maven私服-nexus

7.1 下载nexus

7.2 需要在虚拟机上上传解压使用,选择-unix.tar.gz文件

7.3 解压

7.4 配置nexus

7.5 运行nexus

7.6 查看nexus的运行状态

7.7 配置私有仓库

7.8 批量上传本地文件到自定义仓库中

7.9 导入本地仓库到nexus私有仓库

7.10 idea项目中引用nexus库

7.11 最后部署项目

mybatisplus


maven私服nexus搭建

1、maven介绍

Maven这个单词来自于意第绪语(犹太语),意为知识的积累

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

maven体系结构

图片来源:https://blog.csdn.net/weixin_56697114/article/details/117638352

2、maven私服仓库图示

3、maven下载安装和配置

3.1 下载maven

访问网站 https://maven.apache.org,以apache-maven-3.6.3为例

3.2 配置安装目录下conf\settings.xml文件

配置本地仓库位置

示例:    <localRepository>D:\Java_env\maven\resp</localRepository>

配置镜像

由于中央仓库在境外,网络访问不稳定,故在开发过程中大多配置中央仓库的镜像仓库。

示例:

<mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

配置profile

配置maven默认使用的jdk环境。

示例:

<profile>
     <id>jdk-1.8</id>
     <activation>
          <activeByDefault>true</activeByDefault>
          <jdk>1.8</jdk>
     </activation>
     
     <properties>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
          <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
     </properties>
    </profile>

4、idea中安装配置maven

在idea中打开File/Settings,查找Maven

5、maven生命周期

图片来源:https://m.runoob.com/maven/maven-build-life-cycle.html

6、maven项目对象模型(pom)

7、maven私服-nexus

7.1 下载nexus

访问官网https://help.sonatype.com/repomanager3/product-information/download

7.2 需要在虚拟机上上传解压使用,选择-unix.tar.gz文件

Linux服务器中创建文件夹nexus并上传压缩包nexus-3.61.0-02-unix.tar.gz

7.3 解压

tar -zxvf nexus-3.61.0-02-unix.tar.gz

7.4 配置nexus

进入nexus-3.61.0-02/bin文件夹

/usr/local/software/nexus/nexus-3.61.0-02/bin

编辑nexus.vmoptions文件

根据自己机器内存大小,适当配置内存。内存太小未来启动nexus会失败。

vim nexus.vmoptions

配置端口(默认8081,如不修改可忽略)

开放防火墙8081端口

7.5 运行nexus

运行命令./nexus start,starting nexus表示已启动

7.6 查看nexus的运行状态

nexus-3.40.1 : 服务器文件夹,启动程序等。

sonatype-work: 工作空间,数据文件。

在浏览器中输入http://本机虚拟机ip:8081,登录

根据查询到的账号admin的密码,登录并修改密码

7.7 配置私有仓库

nexus中默认仓库

maven-releases (Version policy=Release)默认只允许上传不带SNAPSHOT版本尾缀的包,默认部署策略是Disable redeploy 不允许重复上传相同版本号信息的jar,避免包版本更新以后使用方无法获取到最新的包。

maven-snapshots (Version policy=Snapshot)只允许上传带SNAPSHOT版本尾缀的包,默认部署策略是Allow redeploy,允许重复上传相同版本号信息的jar,每次上传的时候会在jar的版本号上面增加时间后缀信息。

maven-central 中央仓库的拷贝,如果环境可以访问中央仓库,则可以获取到相关的包,否则没用

maven-public 仓库组,不是实际个一个仓库地址,只是将现有的组合到一次,可以通过它看到所属组内全部仓库的jar信息

创建自定义仓库

选择maven2(hosted)

将新建仓库添加到maven-public群组中

选中maven-public群组,将新仓库add之后访问maven-public就可以访问自己的私有仓库了。

7.8 批量上传本地文件到自定义仓库中

首先上传本地仓库内容到linux服务器

编辑批量上传脚本

在本地仓库上传的文件夹(repo)下创建touch一个shell脚本,命名 repo.sh

编辑脚本

vim repo.sh

插入内容 i

#!/bin/bash
while getopts ":r:u:p:" opt; do
    case $opt in
        r) REPO_URL="$OPTARG"
        ;;
        u) USERNAME="$OPTARG"
        ;;
        p) PASSWORD="$OPTARG"
        ;;
    esac
done
  
find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;

保存并退出。

添加脚本执行权限

chmod +x repo.sh

7.9 导入本地仓库到nexus私有仓库

./repo.sh -u nexus用户名 -p nexus密码 -r 仓库地址

示例:

./repo.sh -u admin -p 123 -r http://ip地址:8081/repository/****-repository/

7.10 idea项目中引用nexus库

在maven的conf/settings.xml中配置server

<server>
      <id>****-repository</id>
      <username>admin</username>
      <password>123</password>
    </server>

在maven中配置nexus镜像

中央仓库的资源从阿里云访问,其它资源来自nexus私服。

<mirror>
      <id>****maven</id>
      <mirrorOf>*</mirrorOf>
      <name>****-repository</name>
      <url>https://ip地址:8081/repository/maven-public/</url>
    </mirror>

idea项目中配置发布管理

在项目的pom.xml文件中添加<distributionManagement>

<distributionManagement>

        <repository>

                <id>wnhz-repository</id>

                <url>http://192.168.198.128:8081/repository/wnhz-repository/</url>

         </repository>

</distributionManagement>

7.11 最后部署项目

在maven中运行部署,部署(deploy)项目到私服。部署成功后可到nexus网站查看。

mybatisplus

引入依赖

<dependency>

        <groupId>mysql</groupId>

         <artifactId>mysql-connector-java</artifactId>

</dependency>

<dependency>

         <groupId>com.alibaba</groupId>

         <artifactId>druid-spring-boot-starter</artifactId>

         <version>1.2.18</version> </dependency>

<dependency>

        <groupId>com.baomidou</groupId>

         <artifactId>mybatis-plus-boot-starter</artifactId>

         <version>3.5.3.1</version>

</dependency>

实体类映射

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("type_tab")
public class Type {

    @TableId(value = "type_id",type = IdType.AUTO)
    private Integer id;
    @TableField("type_name")
    private String name;
    @TableField("type_create_by")
    private String createBy;
    @TableField("type_create_time")
    private Date createTime;
    @TableField("type_update_time")
    private Date updateTime;

}

yml配置

Dao

@Mapper
public interface TypeDao extends BaseMapper<Type> {
}

Service 以及实现类

单元测试

@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class BookServiceImplTest {

    @Autowired
    private BookService bookService;

    @Test
    public void saveType() {
        bookService.saveType(new Type(null,"历史类","admin",new Date(),new Date()));
    }

    @Test
    public void findAll() {
        System.out.println(bookService.findAll());
    }
}

查看控制台和数据库,测试成功。

————————————————————————————————

感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值