为Maven存储库创建jar,怎么做?

时间:2016-09-05 10:52:01

标签: java maven jar pom.xml javadoc

用Google搜索这个问题,但遗憾的是找不到直接答案。

所以,我有一个Maven项目。我想将我的版本上传到Maven Central Repository。这意味着我需要创建3-4个jar文件:

  1. 已编译的源jar
  2. Javadoc jar
  3. 源代码jar
  4. 测试jar(可选)
  5. 如何制作所有这些罐子?将一些配置添加到POM?

    顺便说一句,我使用的是最新的Netbeans IDE,但这无关紧要:)

    感谢任何帮助!

    修改

    所以这是我的POM:

     <?xml version="1.0" encoding="UTF-8"?>
        <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.company</groupId>
            <artifactId>sdk</artifactId>
            <version>1.0-SNAPSHOT</version>
            <packaging>jar</packaging>
            <properties>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
            </properties>
    
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.antlr</groupId>
                        <artifactId>antlr4-maven-plugin</artifactId>
                        <version>4.5.3</version>
                        <executions>
                            <execution>
                                <id>antlr</id>
                                <goals>
                                    <goal>antlr4</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </project>
    

2 个答案:

答案 0 :(得分:2)

Maven可以为您创建这些罐子。在1,2,3,4旁边,您还需要签署发布工件。为了让工件进入maven中心,我建议你阅读:

  1. official Maven guide让您的工件进入maven central
  2. 来自开源Sonatype存储库的guide。它包含您需要了解的所有信息。
  3. 关于你的pom.xml,你可以添加一个单独的发布配置文件,为你构建所有这些工件。

    只需将以下配置文件添加到您的pom.xml

    即可
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>${maven-source-plugin.version}</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${maven-javadoc-plugin.version}</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.5</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    

    现在,当您想要创建发布时,您只需调用:

    mvn clean install -Prelease
    

    它将创建所有必需的工件。

答案 1 :(得分:1)

查看此guidethis。您需要为您选择的镜像存储库提取票证,然后您需要使用额外的插件来签名jar,生成文档,添加源代码并为您进行远程部署。