我正在使用名为maven-enunciate-plugin的插件生成rest api的(非javadoc)文档。现在我想将它上传到我的javadoc存储库。我正在使用wagon-maven-plugin。
问题是,我无法弄清楚如何告诉wagon插件在本网站的settings.xml中使用用户名/密码。如果您使用maven-site-plugin,它似乎知道如何通过定义distributionManagement
标记来做到这一点,但我没有使用maven-site-plugin插件,因为我在没有它的情况下生成文档。
这是我的pom来展示我尝试过的东西:
<profile>
<id>generate-rest-doc</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.enunciate</groupId>
<artifactId>maven-enunciate-plugin</artifactId>
<version>1.27</version>
<executions>
<execution>
<goals>
<goal>docs</goal>
</goals>
<configuration>
<docsDir>${project.build.directory}/docs</docsDir>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0-beta-4</version>
<executions>
<execution>
<id>upload-javadoc</id>
<phase>package</phase>
<goals>
<goal>upload</goal>
</goals>
<configuration>
<fromDir>${project.build.directory}/docs</fromDir>
<includes>*</includes>
<url>scp://MY-REPO/var/www/html/projects/rest-war</url>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<distributionManagement>
<site>
<id>javadoc</id>
<url>scp://MY-REPO/var/www/html/projects/-rest-war</url>
</site>
</distributionManagement>
</profile>
....
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>1.0-beta-6</version>
</extension>
</extensions>
</build>
答案 0 :(得分:3)
在搜索此问题的解决方案时遇到此博文:http://blog.darrenscott.com/2010/08/05/uploading-files-using-scp-and-the-maven-wagon-plugin/
基本上,您需要在serverId
中使用configuration
属性。
希望这有助于某人。
答案 1 :(得分:1)
我想出了一个解决方法。我没有直接使用wagon-maven-plugin,而是使用maven-site-plugin。我明确使用部署目标指向maven-enunciate-plugin生成的目录。
所以上面我注释了wagon插件并在enunciate插件下面添加了这个:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.3</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>upload-javadoc</id>
<phase>package</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<inputDirectory>${project.build.directory}/docs</inputDirectory>
</configuration>
</execution>
</executions>
</plugin>