Как развернуть SNAPSHOT с исходниками и JavaDoc? - PullRequest
90 голосов
/ 18 января 2011

Я хочу развернуть источники и javadocs с моими снимками. Это означает, что я хочу автоматизировать следующую команду:

mvn clean source:jar javadoc:jar deploy

Просто выполнить:

mvn clean deploy

Я не хочу, чтобы генерация javadoc / sources выполнялась на этапе install (то есть локальных сборок).

Я знаю, что плагины source / javadoc можно синхронизировать с выполнением плагина release, но я не могу понять, как подключить его к релизам моментальных снимков.

Ответы [ 3 ]

77 голосов
/ 18 января 2011
<build>
  <plugins> 
    <plugin>
      <artifactId>maven-source-plugin</artifactId>
      <executions>
        <execution>
          <id>attach-sources</id>
          <phase>deploy</phase>
          <goals><goal>jar-no-fork</goal></goals> 
        </execution>
      </executions>
    </plugin>
    <plugin> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <executions> 
        <execution> 
          <id>attach-javadocs</id>
          <phase>deploy</phase>
          <goals><goal>jar</goal></goals> 
        </execution> 
      </executions> 
    </plugin>
    <plugin> 
      <!-- explicitly define maven-deploy-plugin after other to force exec order -->
      <artifactId>maven-deploy-plugin</artifactId> 
      <executions> 
        <execution> 
          <id>deploy</id>
          <phase>deploy</phase>
          <goals><goal>deploy</goal></goals> 
        </execution> 
      </executions> 
    </plugin>
  </plugins> 
</build>

Полный пример см. В POM родительского OSS Sonatype .

46 голосов
/ 26 января 2012

Просто чтобы добавить альтернативу, которая не требует, чтобы вы гадили с конфигурацией плагина:

mvn -DperformRelease=true [goals]

Кредит переходит к mcbeelen с http://sea36.blogspot.com/2009/02/attaching-javadocs-and-sources-to-maven.html?showComment=1314177874102#c6853460758692768998

37 голосов
/ 13 июня 2016

В статье, на которую ссылается Дэн, также упоминается другой подход, который работает без изменения poms и не исчезнет в ближайшее время:

mvn clean javadoc: jar источник: jar install

Прекрасно работает с Maven 3+ вместе с ...

mvn clean javadoc: jar источник: jar deploy

Что я проверил на развертывании Jenkins на Nexus.

Этот подход был хорош, потому что мне нужно было только изменить некоторые задания Jenkins и не нужно было связываться с моими сотрудниками.

...