如何删除/更新maven项目

时间:2010-08-19 17:32:48

标签: maven-2

Maven的新手。

好的,所以我用Maven打包我的项目,但其中一个文件中有一些测试信息。我想更改该文件,但我保持停顿,因为保留了相同的项目版本号。

我不知道该怎么办!这些是我的选择吗?最好的方法是什么?

  1. 更改文件并执行项目的新构建,这将使构建增加一个。
    • 示例:构建版本为2.0,它将移至2.0.1或2.1
  2. 从Maven中删除项目,并使用新的更改重建最后一个项目。
    • 这是我想要做的但不知道如何从Maven中删除项目并重置所有内容以进行重建
  3. 对建议开放???
  4. 由于

2 个答案:

答案 0 :(得分:3)

“从Maven中删除项目”究竟是什么意思?你的意思是从公共Maven存储库?

你可能应该像大多数项目那样提升版本,就像那样的“oops”时刻。发行说明理想地说明了为什么有新版本。理想情况下也是一个公告。

否则,您可能会冒险使用错误的版本,或者他们拥有固定版本的东西或其他任何东西。例如,我经常使用Maven离线选项(即-o),因此我不会抓取最新的快照。

答案 1 :(得分:3)

  

我使用Maven打包我的项目,但其中一个文件中包含一些测试信息。我想更改该文件,但我保持停顿,因为保留了相同的项目版本号。

Maven永远不会在下载后使用修复版本(而不是SNAPSHOT版本)重新下载已发布的工件(除非您从本地存储库中删除工件当然但你显然不能依赖那个)。这是保证再现性的唯一方法(如果我稍后重建,我会得到相同的行为)。并且本着同样的精神,你实际上无法使用固定版本重新发布工件。这是保证一致性的唯一方法(每个人都得到相同的东西)。

因此,如果要重新发布项目,则必须更改版本。

请注意,如果您的项目处于活动开发阶段,则应使用SNAPSHOT版本。以下是Maven: Definitive guide关于它们的内容:

  

3.3.1.2. SNAPSHOT Versions

     

Maven版本可以包含字符串   字面意思是项目是   目前正在积极发展。如果   版本包含字符串   “SNAPSHOT”,然后Maven将扩大   此标记为日期和时间值   转换为UTC(协调   通用时间)安装时或   发布此组件。例如,   如果你的项目有一个版本   “1.0-SNAPSHOT”并部署了这个   项目的工件到Maven   存储库,Maven会扩展它   版本为“1.0-20080207-230803-1”如果   你是在11:08部署一个版本   PM于2008年2月7日UTC。其他   单词,当您部署快照时,您   没有发布软件   零件;你正在释放一个   特定组件的快照   时间。

     

你为什么要用这个?的快照   版本用于下的项目   积极发展。如果你的项目   取决于软件组件   正在积极发展,你可以   取决于SNAPSHOT版本,和   Maven会定期尝试   从a下载最新的快照   运行构建时的存储库。   同样,如果您的下一个版本   系统将有一个版本   “1.4”,你的项目将有一个   版本“1.4-SNAPSHOT”直到它   正式发布。

     

作为默认设置,Maven不会   检查远程SNAPSHOT版本   库。依赖SNAPSHOT   发布时,用户必须明确启用   下载快照的能力   使用存储库或pluginRepository   POM中的元素。

     

发布项目时,您应该这样做   解决SNAPSHOT上的所有依赖项   版本依赖于发布   版本。如果一个项目依赖于   SNAPSHOT,它不稳定   依赖关系可能会随时间而变化。   工件发布到非快照   Maven存储库如   http://repo1.maven.org/maven2不能   取决于SNAPSHOT版本,如   Maven的Super POM有快照   从中央存储库禁用。   SNAPSHOT版本用于开发   仅