Deployment maven部署排除

Deployment maven部署排除,deployment,maven-2,Deployment,Maven 2,我想在部署时排除一个依赖项,在本地使用jar时需要它,但它不应该在已部署的jar中。有什么办法吗?也许一个好的解决方案是使用提供的设置依赖项。这样,就不会部署依赖项 但是,在本地,您需要在类路径中添加依赖项…这取决于您所说的“在本地使用jar”是什么意思 如果您的意思是不希望jar包含在任何捆绑包中,那么可以将依赖项的值设置为提供的。此范围仅在编译和测试类路径上可用,并且不可传递。具有此范围的依赖项将不包括在WAR/EAR中 <dependency> <groupId>

我想在部署时排除一个依赖项,在本地使用jar时需要它,但它不应该在已部署的jar中。有什么办法吗?

也许一个好的解决方案是使用提供的
设置依赖项。这样,就不会部署依赖项


但是,在本地,您需要在类路径中添加依赖项…

这取决于您所说的“在本地使用jar”是什么意思

如果您的意思是不希望jar包含在任何捆绑包中,那么可以将依赖项的值设置为
提供的
。此范围仅在编译和测试类路径上可用,并且不可传递。具有此范围的依赖项将不包括在WAR/EAR中

<dependency>
  <groupId>some.groupid</groupId>
  <artifactId>my-dependency</artifactId>
  <version>1.0.0</version>
  <scope>provided</scope>
</dependency>

some.groupid
排除特定的依赖项

<profile> <id>localProfile</id> <activation> <property> <name>!deploy</name> </property> </activation> <dependencies> <dependency> ... </dependency> </dependencies> </profile> 本地配置文件 !部署 ... 当我运行它时

mvn部署-D部署=0


jar没有这种依赖关系

尽管这种方法有效,Maven已经提供了一种避免部署依赖关系的方法(请参见我的答案),如果您忘记在构建命令中包含属性,那么使用这种方法您可能会意外地部署jar。提供的范围不适合您有什么原因吗?提供的范围总是排除jar,我只想在部署时排除它。您能解释一下您的解决方案吗?您是否必须创建多个配置文件才能执行此操作?我希望有一个更简单的解决方案^^()这个答案完全没有抓住要点-OP不想总是排除依赖性。