How to deploy SNAPSHOT with sources and JavaDoc?

后端 未结 3 1567
有刺的猬
有刺的猬 2020-12-07 11:49

I want to deploy sources and javadocs with my snapshots. This means that I want to automize the following command:

mvn clean source:jar javadoc:jar deploy


        
相关标签:
3条回答
  • 2020-12-07 12:00

    Just to add an alternative that doesn't require you to muck with plugin configuration:

    mvn -DperformRelease=true [goals]
    

    Credit goes to mcbeelen from http://sea36.blogspot.com/2009/02/attaching-javadocs-and-sources-to-maven.html?showComment=1314177874102#c6853460758692768998

    0 讨论(0)
  • 2020-12-07 12:00

    The article referred to by Dan also mentions another approach that works without modifying poms AND won't go away anytime soon:

    mvn clean javadoc:jar source:jar install

    Which works fine with Maven 3+, along with...

    mvn clean javadoc:jar source:jar deploy

    Which I have tested from Jenkins deploying to Nexus.

    This approach was nice because I only had to modify some Jenkins jobs and didn't need to mess with my poms.

    0 讨论(0)
  • 2020-12-07 12:17
    <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>
    

    See Sonatype's OSS parent POM for a complete example.

    0 讨论(0)
提交回复
热议问题