java - 如何将 Maven 构建的工件部署到 SourceForge 文件发布系统?

标签 java maven-2 sourceforge

我正在为一些开源项目使用 SourceForge,我想自动将发布部署到 SourceForge 文件发布系统。我使用 Maven 进行构建,标准 SFTP 部署机制似乎不起作用,除非您进行一些手动准备工作。我在其他论坛上看到一些旧帖子,建议唯一的方法是专门为 SourceForge 编写一个 Wagon。

有没有人最近有这方面的经验?

最佳答案

我无法对此进行测试以确认,但我相信无需编写任何插件即可实现。

您可以 deploy to SourceForge using SCP , maven-deploy-plugin 可以配置为 use SCP所以它应该工作。您还可以部署您的 site to SourceForge通过 SCP。

您可以在您的 settings.xml 中配置 SourceForge 服务器以使用带有逗号分隔符的“组合”用户名。使用这些凭据:

SourceForge username: foo
SourceForge user password: secret
SourceForge project name: bar
Path: /home/frs/project/P/PR/PROJECT_UNIX_NAME/ 
    - Substitute your project UNIX name data for /P/PR/PROJECT_UNIX_NAME 

服务器元素看起来像这样:

<server>
  <id>sourceforge</id>
  <username>foo,bar</username>
  <password>secret</password>
</server>

您的 POM 中的 distributionManagement 部分将如下所示:

<!-- Enabling the use of FTP -->
<distributionManagement>
  <repository>
    <id>ssh-repository</id>
    <url>
scpexe://frs.sourceforge.net:/home/frs/project/P/PR/PROJECT_UNIX_NAME</url>
  </repository>
</distributionManagement>

最后声明要使用ssh-external:

<build>
  <extensions>
    <extension>
      <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-ssh-external</artifactId>
       <version>1.0-alpha-5</version>
    </extension>
  </extensions>
</build>

如果这不起作用,您可以使用上面站点引用中推荐的方法,即使用您的用户名和项目组在 shell.sourceforge.net 上创建一个 shell:

ssh -t <username>,<project name>@shell.sf.net create

然后在 diestributionManagement 部分的站点 URL 中使用 shell.sourceforge.net(而不是 web.sourceforge.net):

<url>scp://shell.sourceforge.net/home/frs/project/P/PR/PROJECT_UNIX_NAME/</url>

关于java - 如何将 Maven 构建的工件部署到 SourceForge 文件发布系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16487/

相关文章:

java - 在 Spring Boot 应用程序中共享类的实例

java - Maven 使用分类器创建 WAR 和包含该 WAR 作为一个模块的 EAR?

java - Sourceforge 每日构建

java - 多态性和预验证类属性

java - 具有最终局部变量对象引用的安全发布

java - 如何将 "Content-Type " header 的数据发布为 "multipart/form-data"

maven-2 - Maven2 : How to be sure Maven build is using a specific plugin version?

maven-2 - Maven 快照更新

java - 如何解决ModbusSlaveException : Error Code = 3?

java - 在将服务器响应传递到 Axis 之前对其进行预处理