0

我即将使用 maven 来自动化我的构建。不幸的是,即使在阅读了几个教程之后,我也无法获得我想要的所有功能 :( 如果有人能解释一种我可以实现所有目标的方法,我会很高兴!我想通过几个动作自动化 3 个特定的构建任务eclipse中的一个项目,使用m2e:

  1. 构建快照
    1. 编译
    2. 定义当前项目版本+日期为版本
    3. 构建jar文件
    4. 将 jar 文件复制到项目路径本身的本地存储库中(§{project}/builds/)
  2. 调试快照
    1. 如上所述构建快照
    2. 将 jar 文件复制到本地测试服务器的插件文件夹
    3. 构建当前项目所依赖的另一个项目,将其 jar 文件也复制到 plugins 文件夹中
    4. 启动服务器/连接到 Eclipse 调试器(我知道该怎么做,前面的步骤很重要)
  3. 创建发布
    1. 编译
    2. 将当前项目版本定义为版本
    3. 构建jar文件
    4. 将jar文件复制到项目路径本身的本地存储库中
    5. 创建 javadoc
    6. 将源文件和 javadoc 复制到存档文件夹
    7. 增加项目版本(例如 v6 -> v7)

如前所述,我不需要一个完美的解决方案,只需要一种实现这一点的方法;)(注释:链接多个启动配置不是问题。)

编辑:我必须修改 pom.xml 的哪些部分来实现这些步骤,以及如何使用 Eclipse 启动配置来调用它们?

4

1 回答 1

0

嗨,根据您的要求,我可以说以下内容:

  1. 构建快照

构建 SNAPSHOT 通常是开发周期中的惯例。

1.1 只使用约定。

1.2 日期作为版本

这是一个坏主意,因为 Maven 对版本的外观有一些约定(1.0-SNAPSHOT 或 1.2.3-SNAPSHOT 等)

1.3 构建jar文件

通常由 jar 生命周期完成(mvn 包)

1.4 本地存储库位于您所有项目的 ${HOME}/.m2/repository 的主驱动器上。从技术上讲,你可以做你喜欢做的事,但这违反了 Maven 约定。问题是你为什么需要这样的东西?

2.1 常规程序

2.2 通常部署不是 Maven 的工作,但您可以通过使用 cargo-maven-plugin(集成测试)来做这些事情。

2.3 如果您在项目之间存在依赖关系,则需要像 Jenkins 这样的 CI 解决方案来执行此类操作,否则您需要手动执行此操作。但这与多模块构建不同。

2.4 集成测试不同的故事。具体取决于你喜欢做什么。

3.

1-7 maven-release-plugin 将处理这些事情,除了复制到违反约定的项目路径本身。为此,您需要一个存储库管理器。

我可以推荐阅读这些书: http: //www.sonatype.com/Support/Books

于 2012-11-20T15:58:30.230 回答