从我的pom.xml生成.pom文件的正确方法是什么?

时间:2017-08-30 15:07:05

标签: java maven pom.xml

我一直在学习如何将Java库发布到jcenter。 jcenter / bintray希望我上传以下工件:

  1. 二进制文件:{groupId}/{artifactId}-{version}.jar
  2. 来源:{groupId}/{artifactId}-{version}-sources.jar
  3. (可选)Javadoc:{groupId}/{artifactId}-{version}-javadoc.jar
  4. POM:{groupId}/{artifactId}-{version}.pom
  5. 我可以生成前三个没问题(带有标准mvn package的二进制文件以及使用here所描述的插件的源和javadoc。

    目前,我只是手动将我的pom.xml复制到{groupId}/{artifactId}-{version}.pom,这样可以正常工作,但它闻起来很香。我确信必须有一种自动化的Maven方式,但我无法找到它。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

您只需将一些代码添加到pom.xml,然后运行相应的<distributionManagement> <repository> <id>bintray-repo-maven-example</id> <url>https://api.bintray.com/maven/tamarjfrog/maven-repo/maven-example/;publish=1</url> </repository> </distributionManagement> 命令,就可以将Maven项目直接上传到Bintray

首先向maven添加一个分发部分,并指定分发项目的URL:

<server>
  <id>bintray-repo-maven-example</id>
  <username>tamarjfrog</username>
  <password>***my-top-secret-api-key***</password>
</server>

要与Bintray合作,您需要在Maven settings.xml文件的用户名和密码标记中提供Bintray用户名和API密钥作为上传凭据。编辑Bintray个人资料页面时可以找到API密钥:

add_action( 'admin_menu', 'wpse_admin_menu', 100 );
function wpse_admin_menu()
{
  global $menu, $submenu;
  $parent = 'parent';

  if( !isset($submenu[$parent]) )
    return;

  foreach( $submenu[$parent] as $k => $d ){
      if( $d[0] == 'name' )
      {
          $submenu[$parent][$k][2] = 'edit.php?post_status=status&post_type=type';
          break;
      }
  }
}

你只需运行这个简单的命令:

  

mvn deploy

将构建项目,上传到您提供的Bintray存储库目标URL,并将其发布。有关详细信息,请查看here

答案 1 :(得分:0)

mvn deploy应自动推送你的pom