一洼绿地

Maven 库指定 POM

·1 min read

Maven 库指定 POM

简介

| 将 Maven 库里的文件,用指定的 POM 来处理 | 让使用依赖的项目,自行选择不同的 java 包 | 比如提供 JsonUtil 工具类,同时支持 jackson 和 Gson 或 fastjson | 但并不用三个都拉进依赖包 | 可以提供一个空依赖的 POM 文件,用户自行依赖

settings.xml 配置 repositoryId

<servers>

    <server>
      <id>sonatype-snapshots</id>
      <username>username</username>
      <password>password</password>
    </server>

    <server>
      <id>sonatype-release</id>
      <username>username</username>
      <password>password</password>
    </server>

    ...
</servers>

复制 POM (deploy-pom.xml) 文件出来,去除不必要的部分

在命令行执行 mvn 命令

mvn \
  deploy:deploy-file -DskipTests \
  -Darguments="-Dmaven.javadoc.failOnError=false" \
  -DgroupId=project.groupId \
  -DartifactId=project.artifactId \
  -Dversion=1.0.0-SNAPSHOT \
  -Dpackaging=jar \
  -Dfile=/project-target/project-1.0.0-SNAPSHOT.jar \
  -DrepositoryId=sonatype-snapshots \
  -DpomFile=deploy-pom.xml \
  -Durl=https://oss.sonatype.org/content/repositories/snapshots

发布到正式库

先签名发布,然后到 oss.sonatype 上选 close

mvn gpg:sign-and-deploy-file
  -Durl="https://oss.sonatype.org/service/local/staging/deploy/maven2/"
  -DrepositoryId="sonatype-release"
  -Dfile="target/boot3-web-core-1.0.2.RELEASE.jar"
  -Dsources="target/boot3-web-core-1.0.2.RELEASE-sources.jar"
  -Djavadoc="target/boot3-web-core-1.0.2.RELEASE-javadoc.jar"
  -DpomFile="target/pom-deploy.xml"