精华内容
下载资源
问答
  • maven注册本地jar包

    2019-04-26 19:50:45
    在实际使用maven开发的过程中,不可避免会遇到需要添加maven库所没有的jar包,但是对于本地仓库而言,尤其是一些公司没有互联网环境,则就需要在本地仓库注册jar包,使maven之能正确识别这个jar,话不多说,现在...

    对于远程仓库(公有库和私有库)而言,可以通过登录Nexus仓库将jar包还有相关信息上传上去远程仓库,然后再进行compile,使得maven自动下载此jar。

    在实际使用maven开发的过程中,不可避免会遇到需要添加maven库所没有的jar包,但是对于本地仓库而言,尤其是一些公司没有互联网环境,则就需要在本地仓库注册此jar包,使maven之能正确识别到这个jar,话不多说,现在我们开始操作:

    首先,在cmd命令行界面输入:
    mvn –version
    如果没有显示如下图,就说明没有配置环境变量,则需要手动配置maven的环境变量
    在这里插入图片描述

    若有,则再输入:
    mvn help: system
    查看是否会出现
    在这里插入图片描述

    则是maven中没有配置公有服或是私服的地址,需要在maven安装目录的,conf下的setting.xml配置地址。

    <mirrors>
    	<mirror>                                                         
            <id>teligen-maven-1208</id>
            <name>teligen-maven-1208</name>        
            <url>http://192.192.128.227:8081/nexus/content/repositories/teligenMaven2018/</url>
            <mirrorOf>central</mirrorOf>
       </mirror>
    
      </mirrors>
    

    此处的地址为私服地址,注意,必须要配置地址才能使得mvn install或complie命令正常执行,否则会出现如下错误:

    在这里插入图片描述
    在以上都确认没问题后,则输入以下命令执行注册语句:
    mvn install:install-file -DgroupId=org.apache.poi -DartifactId=poi -Dversion=3.9 -Dpackaging=jar -Dfile=D:\workspace\itp_new\workspace\itpNewClean\src\main\webapp\WEB-INF\lib\poi-3.9.jar

    其中groupId、artifactId、version三项为后续pom.xml中引入包的信息,packaging为打包类型,这里为jar,file为你要注册的jar包路径,这里写上全路径。
    执行成功后会出现如下提示信息:
    在这里插入图片描述
    其中红色框则说明已经注册进你的本地仓库路径。如果发现此处的路径不为本地仓库路径,则需要检查C:\Users\当前登录用户.m2下的settings.xml配置,看是否有如下配置:

    <localRepository>D:\workspace\itp_new\repository</localRepository>
    

    此处配置表明优先使用本地仓库,maven读取setting的顺序为,先读取当前登录者的settings.xml,若不存在,则读取maven安装目录conf下的settings.xml文件。

    展开全文
  • java上传本地jar包到maven中央仓库

    万次阅读 2020-11-23 09:25:27
    前往https://issues.sonatype.org/secure/Dashboard.jspa 注册JIRA账号,按提示完善个人信息。 Step2 点击创建按钮来创建一个新的 issues 工单 Step3 等待一段时间就会收到一封邮件,内容如下: 意思...

    前言

             个人认为一个优秀的程序员一定是一直在学习的,没有熬夜写代码的经历的程序员一定不是一个好的程序员。技术人员一定也是要能积极分享的,过程中你能体会到给别人带来帮助的快乐,也能听到大家的意见,学会的就要教人,毕竟你的东西也是从别人那里学来的~

     

    在开始之前注意这几个地址:

    https://issues.sonatype.org 工单管理地址,就是申请上传资格和groupid的地方

    https://oss.sonatype.org/#welcome 构件仓库,把jar包上传到这里,Release之后就会同步到maven中央仓库

    http://search.maven.org/ 最终表现在可以在这里搜索到

     

    Step1

            前往  https://issues.sonatype.org/secure/Dashboard.jspa  注册JIRA账号,按提示完善个人信息。

     

    Step2

            点击创建按钮来创建一个新的 issues 工单

    Step3

           等待一段时间就会收到一封邮件,内容如下:

     

    意思就是询问你该 GroupId 设置的域名是否为你自己所拥有,如果是就需要证明一下,两种方法

    • 1、设置github page当做域名。
    • 2、在域名 DNS 解析中添加一条类型为 Txt 的记录。

    由于本人有自己的域名,所以设置使用了第二种方法添加 NDS 解析记录,这里添加了记录为 OSSRH-48958,类型为 TxT,值为 https://issues.sonatype.org/browse/OSSRH-62179 的一条解析记录信息。

    然后打开邮件中提到的地址 https://issues.sonatype.org/browse/OSSRH-62179 进入该 issues,在里面回复自己拥有该域名,且设置了 DNS 解析。

    可以看到状态从open变成了已修复

     

    Step4

            配置 GPG

            windows前往https://www.gpg4win.org/下载安装即可,mac的话 https://releases.gpgtools.org/GPG_Suite-2020.1.dmg

    Step5

    1、maven的settings.xml做个配置

    servers中间增加如下配置

    <servers>  
    
      <server>
        <id>sonatype-nexus-snapshots</id>
        <username>刚才注册的帐号</username>
        <password>刚才注册的密码</password>
      </server>
      <server>
        <id>sonatype-nexus-staging</id>
        <username>刚才注册的帐号</username>
        <password>刚才注册的密码</password>
      </server>
       
    </servers>

    2、项目pom增加如下配置

    
        <licenses>
            <license>
                <name>The Apache License, Version 2.0</name>
                <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            </license>
        </licenses>
        <scm>
            <connection>
                scm:git:https://github.com/mayunkun/components.git
            </connection>
            <developerConnection>
                scm:git:https://github.com/mayunkun/components.git
            </developerConnection>
            <url>https://github.com/mayunkun/components</url>
            <tag>master</tag>
        </scm>
        <developers>
            <developer>
                <name>l'amour solitaire</name>
                <email>1163363720@qq.com</email>
            </developer>
        </developers>
    
        <distributionManagement>
            <snapshotRepository>
                <id>sonatype-nexus-snapshots</id>
                <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            </snapshotRepository>
            <repository>
                <id>sonatype-nexus-staging</id>
                <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
            </repository>
        </distributionManagement>
    
    
        <build>
            <plugins>
                <!--生成源码jar包-->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>2.10.4</version>
                    <configuration>
                        <encoding>UTF8</encoding>
                        <aggregate>true</aggregate>
                        <charset>UTF8</charset>
                        <docencoding>UTF8</docencoding>
                    </configuration>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <phase>package</phase>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                            <configuration>
                                <additionalparam>-Xdoclint:none</additionalparam>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.1</version>
                    <!-- -Dgpg.passphrase='秘钥密码'或者-Darguments='gpg.passphrase=秘钥密码' -->
                    <configuration>
                        <passphrase>上一步的pgp秘钥密码</passphrase>
                    </configuration>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.sonatype.plugins</groupId>
                    <artifactId>nexus-staging-maven-plugin</artifactId>
                    <version>1.6.8</version>
                    <extensions>true</extensions>
                    <configuration>
                        <serverId>sonatype-nexus-snapshots</serverId>
                        <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                        <autoReleaseAfterClose>false</autoReleaseAfterClose>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.3</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
            </plugins>
        </build>

     

    step6

           上一步<passphrase>step4 gpg秘钥密码</passphrase>如果配置了,这里的命令就可以不用了

    mvn clean deploy -Dmaven.test.skip -Dgpg.passphrase='step4 gpg秘钥密码'
    

    上传成功回到 https://oss.sonatype.org/#stagingRepositories,选中刚才发布的构件,并点击上方的close–>Confirm,在下边的Activity选项卡中查看状态,当状态变成closed后,执行Release–>Confirm,并在下边的Activity选项卡中查看状态,成功后构件自动删除,一小段时间(约1-2个小时)后即可同步到maven的中央仓库。

    即可在https://mvnrepository.com/搜索到你的jar包了!

    https://search.maven.org/ 查看

    https://mvnrepository.com/这里一般第二天才能看到

    项目源码关注公众号《JAVA拾贝》回复: json-filter 即可获取

    展开全文
  • mvn install:install-file -DgroupId=alluxio -DartifactId=alluxio -Dversion=1.7.0 -Dpackaging=jar -Dfile=C:\Users\zyd\Desktop\alluxio-1.7.0.jar
    mvn install:install-file -DgroupId=alluxio -DartifactId=alluxio -Dversion=1.7.0 -Dpackaging=jar -Dfile=C:\Users\zyd\Desktop\alluxio-1.7.0.jar

     

    展开全文
  • 今天就说说如何把自己的jar包发布到Maven的中央仓库。让其他使用你的jar包的直接去中央仓库下载。如果你用的是阿里云的maven中央仓库。同样阿里云的中央仓库也会同步你的jar包。 1 注册JIRA账号 注册地址:...

    原文地址

    平时自己开发的工具类或者其他的框架的jar包一般都是放在本地。或者把代码上传到github让别人去下载然后自己打包。今天就说说如何把自己的jar包发布到Maven的中央仓库。让其他使用你的jar包的直接去中央仓库下载。如果你用的是阿里云的maven中央仓库。同样阿里云的中央仓库也会同步你的jar包。
    1 注册JIRA账号
    注册地址:https://issues.sonatype.org/secure/Dashboard.jspa
    2 创建 issue
    这里写图片描述
    这些都是要填写的!Project URL 和SCM url 可以填写自己github项目的地址
    Group ID 可以按自己需求填写,比如我填写的是com.github.mxsm
    创建好以后 sonatype的工作人员审核处理,速度还是很快的,一般一个工作日以内,当Issue的Status变为RESOLVED后,就可以进行下一步操作了,否则,就等待… (国内最好你在晚上干这个事情国外刚好上班)
    这里写图片描述
    到了这里说明你已经能够去上传自己的jar包了
    3 配置maven Setting.xml文件
    这里写图片描述
    添加Server节点

           <server>
                <id>自行替换</id>
                <username>替换成自己的JIRA账号</username>
                <password>替换成自己的JIRA账号密码</password>
            </server>
    

    4 创建maven工程
    设置pom.xml文件

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.github.mxsm</groupId>
      <artifactId>dubbotest</artifactId>
      <version>1.0</version>
      <packaging>jar</packaging>
    
      <name>dubbotest</name>
      <url>https://github.com/mxsm</url>
      <description>dubbotest com.github.mxsm jar</description>	
      
      <licenses>
    		<license>
    			<name>Apache 2</name>
    			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    			<distribution>repo</distribution>
    			<comments>A business-friendly OSS license</comments>
    		</license>
    	</licenses>
      
        <scm>
    		<url>https://github.com/mxsm</url>
    		<connection>https://github.com/mxsm/taokeeper.git</connection>
    	</scm>
      
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.3.10.RELEASE</version>
        </dependency>
        
        <dependency>
    	    <groupId>com.alibaba</groupId>
    	    <artifactId>dubbo</artifactId>
    	    <version>2.5.3</version>
    	</dependency>
    	
      </dependencies>
      
      <developers>
      	<developer>
    			<name>ljbmxsm</name>
    			<id>ljbmxsm</id>
    			<email>ljbmxsm@gmail.com</email>
    			<roles>
    				<role>Developer</role>
    			</roles>
    			<timezone>+8</timezone>
    		</developer>
      </developers>
          <profiles>
            <profile>
                <id>release</id> <!-- 部署要用到 -->
                <build>
                    <plugins>
                        <!-- Source -->
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-source-plugin</artifactId>
                            <version>2.2.1</version>
                            <executions>
                                <execution>
                                    <phase>package</phase>
                                    <goals>
                                        <goal>jar-no-fork</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                        <!-- Javadoc -->
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-javadoc-plugin</artifactId>
                            <version>2.9.1</version>
                            <executions>
                                <execution>
                                    <phase>package</phase>
                                    <goals>
                                        <goal>jar</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                        <!-- GPG -->
                         <plugin> <!-- 进行延签 -->
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-gpg-plugin</artifactId>
                            <version>1.6</version>
                            <executions>
                                <execution>
                                    <phase>verify</phase>
                                    <goals>
                                        <goal>sign</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </build>
                <distributionManagement>
                    <snapshotRepository>
                        <id>oss</id>
                        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
                    </snapshotRepository>
                    <repository>
                        <id>oss</id>
                        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                    </repository>
                </distributionManagement>
            </profile>
        </profiles>
    </project>
    

    必须要的:name url description licenses scm

                <distributionManagement>
                    <snapshotRepository>
                        <id>oss</id><!-- settings.xml中server节点的id-->
                        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
                    </snapshotRepository>
                    <repository>
                        <id>oss</id>
                        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
                    </repository>
                </distributionManagement>
    

    5 windows环境安装gpg4win
    下载地址:https://www.gpg4win.org/download.html
    查看版本:
    这里写图片描述

    $ gpg --gen-key
    gpg (GnuPG) 1.4.19; Copyright (C) 2015 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Please select what kind of key you want:
       (1) RSA and RSA (default)
       (2) DSA and Elgamal
       (3) DSA (sign only)
       (4) RSA (sign only)
    Your selection?
    RSA keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048)
    Requested keysize is 2048 bits
    Please specify how long the key should be valid.
             0 = key does not expire
          <n>  = key expires in n days
          <n>w = key expires in n weeks
          <n>m = key expires in n months
          <n>y = key expires in n years
    Key is valid for? (0)
    Key does not expire at all
    Is this correct? (y/N) Y
    
    You need a user ID to identify your key; the software constructs the user ID
    from the Real Name, Comment and Email Address in this form:
        "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
    
    Real name: ljbmxsm
    Email address: ljbmxsm@gmail.com
    Comment: flink-elasticsearch-connector
    You selected this USER-ID:
        "iteblog (flink-elasticsearch-connector) <wyphao.2007@163.com>"
    
    Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
    You need a Passphrase to protect your secret key.
    
    We need to generate a lot of random bytes. It is a good idea to perform
    some other action (type on the keyboard, move the mouse, utilize the
    disks) during the prime generation; this gives the random number
    generator a better chance to gain enough entropy.
    +++++
    .+++++
    gpg: /c/Users/iteblog/.gnupg/trustdb.gpg: trustdb created
    gpg: key B15C5AA3 marked as ultimately trusted
    public and secret key created and signed.
    
    

    设置名字+邮箱,其他可以使用默认值,记住输入的passphrase,后面部署会用到
    6 上传密钥
    上传刚刚生成的秘钥