• maven打包并上传到nexus3私服


      之前搭了个maven私服,接下来则要充分利用这个私服的优势上传自己的jar包了。

      我们先在nexus上创建一个用来上传jar包的角色,并通过此角色创建若干帐号用来给开发者上传包。如图是我自己的配置:

     

      在这里面包含4项权限,repository-view代表的是repository的使用权限,add,edit,read即可构成完整的上传权限。通过此role创建若干user:在这里我给我自己创建了一个uploaduser用来上传jar包。

      注:为什么不用admin账户?因为上传jar包并不需要admin权限,而admin用户包含的全部的权限,不仅有repository的view和admin还有许多其他权限,并且在settings中密码明文存储,并不安全,而在我这里创建的用户虽然有edit权限,但是只能操作自定义的jar包,对没有redeploy的仓库依旧没什么卵用。所以相对安全可控。

      之后在.m2/settings中加入两条server:  

        <server>
            <id>nexus-snapshot</id>
            <username>uploaduser</username>
            <password>mima</password>
        </server>
        <server>
            <id>nexus-release</id>
            <username>uploaduser</username>
            <password>mima</password>
        </server>

       注意,id这玩意可以随便起名,但是要记住,因为pom文件需要用到,在这里指定的用户名密码,在pom文件里指定id对应的仓库url,这样可以连接到仓库。

      在需要的jar包内加入如下配置:

    <distributionManagement>
        <repository>
          <!-- 这里的ID要和setting的id一致 -->
          <id>nexus-release</id>
          <url>http://192.168.xx.xxx:18081/repository/maven-releases/</url>
         </repository>
          <!--这是打成快照版本的配置 -->
         <snapshotRepository>
          <id>nexus-snapshot</id>
          <url>http://192.168.xx.xxx:18081/repository/maven-snapshots/</url>
        </snapshotRepository>

      这里的两个url可以在nexus中点击对应的库直接复制过来,不用自己敲进去。

      如果你需要编译scala工程,在pom中加入:

    <plugin>
            <groupId>net.alchim31.maven</groupId>
            <artifactId>scala-maven-plugin</artifactId>
            <version>3.2.2</version>
            <executions>
                <execution>
                    <id>compile-scala</id>
                    <phase>compile</phase>
                    <goals>
                        <goal>add-source</goal>
                        <goal>compile</goal>
                    </goals>
                </execution>
                <execution>
                    <id>test-compile-scala</id>
                    <phase>test-compile</phase>
                    <goals>
                        <goal>add-source</goal>
                        <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
            <!-- 
            <configuration>
                <compilerPlugins>
                    <compilerPlugin>
                        <groupId>org.scalamacros</groupId>
                        <artifactId>paradise_2.11.11</artifactId>
                        <version>2.1.1</version>
                    </compilerPlugin>
                </compilerPlugins>
            </configuration>
             -->
            </plugin>

      这样就可以了,之后需要确认下本地工程的groupid,artifactid和版本:

     <groupId>guinai</groupId>
     <!-- 古伊奈 --> <artifactId>guinai</artifactId> <version>0.0.1</version>

    打包上传:

      mvn deploy 完成!

      emmmmm.....

      如果你在eclipse下,右键pom文件->debug as -> maven build->在goals里填deploy,完成!

      然后去nexus3里搜你自己的包吧,可以发现已经上传到release库里了如果是snapshot就在snapshot库里

  • 相关阅读:
    C++ Primer Plus 第15章 友元、异常和其它
    03013_JDBC工具类
    python GUI编程(Tkinter)
    Python2.x与3​​.x版本区别
    【python教程】Python JSON
    【python教程】Python IDE
    通过Google Custom Search API 进行站内搜索
    支持wmv、mpg、mov、avi格式的网页视频播放代码
    编写更好的jQuery代码的建议
    KindEditor得不到textarea值的解决方法
  • 原文地址:https://www.cnblogs.com/gaoze/p/9583310.html
Copyright © 2020-2023  润新知