Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行Maven2和Maven3_Java_Maven - Fatal编程技术网

Java 运行Maven2和Maven3

Java 运行Maven2和Maven3,java,maven,Java,Maven,我目前正在建设一个新的服务器,以取代我们现有的实时系统,并借此机会使所有系统更新。不幸的是,在最终完成切换之前,我们需要将这两个系统作为实时服务并行运行几个月。在此期间,随着服务器上运行的应用程序的开发正在进行,我们将每晚进行重建 我遇到的问题是,现有系统正在运行Maven 2,而新系统正在运行Maven 3。目前,我们对新服务器的重建正在为org.codehaus.mojo生成Maven警告[WARNING]“build.plugins.plugin.version”:版本Maven-plug

我目前正在建设一个新的服务器,以取代我们现有的实时系统,并借此机会使所有系统更新。不幸的是,在最终完成切换之前,我们需要将这两个系统作为实时服务并行运行几个月。在此期间,随着服务器上运行的应用程序的开发正在进行,我们将每晚进行重建

我遇到的问题是,现有系统正在运行Maven 2,而新系统正在运行Maven 3。目前,我们对新服务器的重建正在为org.codehaus.mojo生成Maven警告[WARNING]“build.plugins.plugin.version”:版本Maven-plugin缺失,应用程序无法生成

有没有一个解决方案可以让我修复这些警告,这样所有的东西都可以构建在Maven 2和Maven 3上?由于开发基础设施的原因,subversion中的代码分支不是一个选项


查看一些文档,它建议将存储库定义移动为pluginrepository定义。我是否可以将存储库添加到pluginrepositories中,同时将它们放在存储库下,这会导致Maven的任一版本出现问题?或者有其他解决方案吗?

Maven 3是向后兼容的,但更严格,因此,如果您为Maven 3修复pom.xml,就不会破坏Maven 2的支持


据我所知,您只需使用显式插件版本,这很容易做到,最佳做法是在项目通用的父pom中的一个部分中执行此操作。

警告不会破坏构建。似乎你没有提到什么。@kan完全缺少Maven插件将破坏一个构建,它们类似于ANT中缺少任务,或者Make中缺少命令行工具。@EdwinBuck他说缺少警告版本标记,这意味着插件在这里,它可以工作,但pom.xml没有显式指定插件版本,所以使用了随机版本。然后他说它无法构建-我不相信会因此而发生。@kan如果版本标签丢失,那么他很可能配置了一些较旧版本的插件,这些插件现在正在升级版本中运行。升级可能会破坏一切,尤其是当您通过现在不推荐使用的标记配置插件时。@EdwinBuck但不是特定于maven版本的。为什么仅仅运行另一个版本的maven就可以带来不同?maven 3的一些功能非常不同,如果您为maven 3定制POM,maven 2的构建可能会失败。有一点不同,那就是解决依赖关系的方式。我发现要在Maven 2中构建,我必须添加一些Maven 3中不需要的依赖项。另一个问题是Maven 3中快照更改的唯一版本。如果您需要部署快照工件,而其他工件又反过来使用快照工件,那么您可能会遇到一些问题。我还是不明白他们为什么要改变它。带来的麻烦比任何事情都多,主要是在多个项目的连续构建中。