2016-09-05 70 views
0

使用谷歌搜索這個問題,但沒有直率的答案被遺憾地發現。爲Maven倉庫創建jar,如何?

所以,我有一個Maven項目。我想將我的版本上傳到Maven Central Repository。這意味着我需要創建3-4個jar文件:

  1. 編譯源罐子
  2. 的Javadoc罐子
  3. 的源代碼的jar
  4. 測試罐子(可選)

我怎樣才能創建所有這些罐子?添加一些配置到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> 
+0

你是怎麼看待這個時刻的? – Jens

+0

@Jens編輯了我的問題。謝謝! – lkallas

回答

2

Maven可以爲您創建這些罐子。在1,2,3,4旁邊,您還需要簽署您的發佈工件。爲了讓神器成爲行家中央我建議你閱讀:

  1. official Maven guide讓你的神器成爲行家中央
  2. guide來自開源Sonatype的存儲庫。它包含您需要知道的所有信息。

關於您的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 

,它會創建所需的所有構件。

+0

謝謝!會放棄它! – lkallas

1

看看這個guidethis。您需要爲您選擇的鏡像存儲庫提供票據,然後您需要使用額外的插件來簽署jar,生成文檔,添加源代碼併爲您執行遠程部署。

+1

Upvote for your kindness :) – lkallas

+0

我認爲你還需要證明你在pom中使用的域的所有權 – HRgiger