【问题标题】:Maven Unique Version in Jar File NameJar 文件名中的 Maven 唯一版本
【发布时间】:2012-03-23 19:19:44
【问题描述】:

我正在使用 Maven 和 Nexus 来使用 hudson ci 构建我的项目。每次当我部署新的快照工件时,他都会使用 nexus 中的独特版本来执行此操作。这对我来说没问题,因为 Nexus 总是为我提供最新版本。

现在我查看了使用此快照依赖项的项目的 war 文件,并且它的 lib 目录中有以下 jar 文件,这是绝对不合适的:

framework-client-1.1-20120302.141044-3.jar

问题是我使用 EBean 作为 ORM,我需要在 ebean.properties 中指定 jar 名称,让他知道在哪里可以找到它的模型。

如何防止此类行为,以便始终调用 framework-client-1.1-SNAPSHOT.jar 的最新快照 dep?

谢谢!

【问题讨论】:

标签: maven-2 hudson nexus


【解决方案1】:

只需将war文件中的jar重命名为您喜欢的任何名称即可。详情在这里

Renaming Maven dependency in WAR's WEB-INF/lib folder

【讨论】:

  • 如果没有配置来解决根本问题,我只会同意这个选项。这似乎只是一个 hack/work-around 并不能解决真正的问题。
  • 嗯...如果您需要它在开发中工作,这就是修复。如果您使用非快照版本,则不需要它。因此,如果您愿意,可以将其放在开发配置文件中,并将其留给发布配置文件。..您将不得不接受将快照部署为名为工件的时间戳..就是这样。
  • 我相当确定您可以将 maven 配置为不唯一标识快照,因为我记得几年前在 maven 2 中需要这样做。如果不是,您是对的,将 JAR 重命名为WAR 是一个合适的解决方案。
  • 在部署到 repo 服务器时,如果它是快照,它将始终获得时间戳......没有选择,如果你试图规避你将打破 SNAPSHOT 的概念,这将导致你会更痛苦..不要与行家抗争,它总是以流泪或浪费精力而告终;-)
猜你喜欢
  • 1970-01-01
  • 2012-02-19
  • 2020-03-13
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-01
  • 2013-06-06
相关资源
最近更新 更多