在Google Code svn上部署Maven生成的网站?

13

使用Google Code SVN作为基本的Maven存储库很容易。

然而,在Google Code上有效地使用mvn site:deploy似乎很困难。

到目前为止,我只找到了以下解决方案:

我正在寻找一种解决方案,允许我的项目中的新开发人员检出当前源代码并直接使用它,而无需安装PERL或学习奇怪的步骤或等待几小时。


如果你也遇到了这个问题,请投票支持此问题。我非常迫切地寻找解决方案 :-) - Dr. Max Völkel
5个回答

1
这是我在谷歌代码项目中,使用谷歌代码svn的maven存储库时最简单的配置方案:
<build>
...
<extensions>
    <extension>
        <groupId>org.jvnet.wagon-svn</groupId>
        <artifactId>wagon-svn</artifactId>
        <version>1.9</version>
    </extension>
</extensions>
</build>

<distributionManagement>
<repository>
    <uniqueVersion>false</uniqueVersion>
    <id>googlecode</id>
    <url>svn:https://myproject.googlecode.com/svn/trunk/repo/</url>
</repository>
</distributionManagement>

请注意URL:
将“myproject”替换为您的真实项目名称,并确保使用svn客户端在该位置创建名为“repo”(或其他任何名称)的文件夹。
您可以通过浏览Google代码网站上的源代码来确认。
配置好pom后,只需运行'mvn deploy'即可。
确保您随手拿着Google代码密码...
祝你好运...


1

如何将Maven构件部署到Google Code SVN?

I. 创建包含releases和snapshots子文件夹的m2文件夹

II. 添加maven-svn-wagon依赖项

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.5</version>
        <dependencies>
            <dependency>
                <groupId>com.google.code.maven-svn-wagon</groupId>
                <artifactId>maven-svn-wagon</artifactId>
                <version>1.4</version>
            </dependency>
        </dependencies>
    </plugin>

III. 添加发布和快照存储库的路径

    <distributionManagement>
        <repository>
            <id>project-name.googlecode.com</id>
            <url>svn:https://project-name.googlecode.com/svn/m2/releases</url>
        </repository>
        <snapshotRepository>
            <id>project-name.googlecode.com</id>
            <url>svn:https://project-name.googlecode.com/svn/m2/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

IV. 别忘了在settings.xml中添加您的授权码。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <servers>
        <server>
            <id>project-name.googlecode.com</id>
            <username>yourlogin</username>
            <password>yoursvpassword</password>
        </server>
    </servers>
</settings>

VII. 像平常一样生成网站(您可以考虑查看 maven-svn-wagon pom file,其中包含 maven-site-plugin 的设置)

VIII. mvn clean deploy

此类 pom 的示例

此外,以下链接可能会有所帮助:Google Code 项目的 Maven 存储库, Maven SVN Wagon, Google Code 中的 Maven 存储库

0

不提到部署由Maven生成的网站。 - orien

0

像rsync这样的解决方案会更容易吗?您基本上想要将本地生成的HTML等树形结构镜像到远程服务器。

否则,您可以让Maven在持续集成构建中生成和发布站点,例如使用Hudson。如果您需要全球范围内的站点,则不适用-除非您想打开Hudson服务器。


当然,如果Google SVN运行rsync服务器的话会很有帮助,但据我所知它并没有。据我所知,没有svn服务器这样做。问题真正的瓶颈在于速度。Maven似乎为每个文件打开一个新连接,或者至少进行单个webdav-put。现在,我使用我的大学提供的服务器,我可以通过ssh访问并在服务器上运行unzip。然后Maven执行scp,记录sin并运行unzip。非常好,快捷和方便。对于Google SVN,我认为通过SVN协议而不是WebDAV协议进行智能提交应该可以解决问题,但我从未成功过。 - Dr. Max Völkel

-2
我建议您使用https://maven2-repository.dev.java.net/来部署您的开源工件。这个工具非常简单易用。
主要的“问题”是您需要创建一个账户,但您可以仅使用该账户来部署工件,而仍将源代码托管在Google Code上。

投票反对。嗨,我正在寻找一种部署Maven“站点”的方法,这是大量生成的HTML文件,应该在公共Web服务器上公开。在Google Code上的SVN存储库之上运行Maven存储库是可以的。 - Dr. Max Völkel
我猜你已经尝试过了以下的配置技巧,对吧?http://code.google.com/p/maven-googlecode-plugin/wiki/MavenSiteDeployOnSVN - JoséMi
啊,我会试一下的。谢谢。不过,它似乎也建议使用极慢的wagon-svn提供者。对于成千上万个文件来说,那太慢了。 - Dr. Max Völkel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接