Maven 针对生产环境的不同POM文件

Maven 针对生产环境的不同POM文件,maven,production-environment,pom.xml,Maven,Production Environment,Pom.xml,这里的团队已经在测试环境中构建了项目,因此pom文件中有JAR作为依赖项用于测试 然而,相同的pom文件正在生产中使用,因此用于测试的罐子正在投入生产,这不是一个好的做法 问题-是否不可能有一个pom文件,其中测试JAR未列为依赖项并构建代码 这里的团队说这是不可能的…为依赖项设置一个,例如,对于junit,我们添加了如下依赖项: <dependency> <groupId>junit</groupId> <artifactId>junit

这里的团队已经在测试环境中构建了项目,因此pom文件中有JAR作为依赖项用于测试

然而,相同的pom文件正在生产中使用,因此用于测试的罐子正在投入生产,这不是一个好的做法

问题-是否不可能有一个pom文件,其中测试JAR未列为依赖项并构建代码

这里的团队说这是不可能的…

为依赖项设置一个
,例如,对于junit,我们添加了如下依赖项:

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.10</version>
  <scope>test</scope>
</dependency>

朱尼特

测试-此范围表示正常使用应用程序时不需要依赖项,仅在测试编译和执行阶段可用


他们是否知道src/test/resources和src/main/resources(以及src/test/java和src/main/java)之间的区别,它们可以用来分离测试和生产配置。为此,您使用相同的pom文件。此外,如果依赖项用于测试(test),或者依赖项用于生产代码,则应定义它们

测试范围是否会阻止Maven下载它们。。。因为在这种情况下,文件仍在生产环境中下载。。。目的是防止maven下载它们。。。希望这有意义。。感谢您的回答,您是在生产环境中构建的吗?奇怪。为什么不将构件构建(发布和部署)到存储库管理器并将其转移到生产环境中呢?除非您执行测试编译或执行阶段,否则它们不会被下载,但正如@khmarbaise所说的,您可能不应该在生产环境中构建,而只是使用构建的构件。。。