Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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 获取maven依赖项(不包括测试依赖项)的列表_Java_Maven_Maven 3 - Fatal编程技术网

Java 获取maven依赖项(不包括测试依赖项)的列表

Java 获取maven依赖项(不包括测试依赖项)的列表,java,maven,maven-3,Java,Maven,Maven 3,我想为我的maven项目获得一个所有依赖项的列表,但是没有使用maven 3.6.2的测试依赖项 列出我成功使用的所有依赖项dependency:tree或dependency:list 然后我尝试添加-DincludeScope=compile和-DexcludeScope=test作为参数。添加了这些之后,我仍然得到了测试依赖项 示例命令 mvn -f example/location/pom.xml dependency:tree -DincludeScope=compile -Dexcl

我想为我的maven项目获得一个所有依赖项的列表,但是没有使用maven 3.6.2的测试依赖项

列出我成功使用的所有依赖项
dependency:tree
dependency:list

然后我尝试添加
-DincludeScope=compile
-DexcludeScope=test
作为参数。添加了这些之后,我仍然得到了测试依赖项

示例命令

mvn -f example/location/pom.xml dependency:tree -DincludeScope=compile -DexcludeScope=test
输出

...
...
...
 \- junit:junit:jar:4.12:test
    \- org.hamcrest:hamcrest-core:jar:1.3:test
父依赖项是测试,子依赖项是编译

我还发现了另一个问题。如果父依赖项是
test
,那么我不想看到它的任何依赖项

...
...
|  +- com.google.cloud:google-cloud-core-grpc:jar:1.52.0:test
|  |  +- com.google.auth:google-auth-library-credentials:jar:0.11.0:compile

如何删除所有测试依赖项及其子项

includeScope
excludeScope
不是的参数,因此它们不会产生任何影响。根据您的
maven插件依赖关系
version
scope
参数可能会起作用(请参阅):

mvn依赖项:tree-Dscope=compile

这个bug似乎与此相关:我认为不可能像您提到的那样。如果父依赖项是
test
,子依赖项是
compile
,我不想包含它。我已经更新了我的问题来说明这一点。我能看到它被完成的唯一方法(如果maven的特定参数不可能)是找出输出的缩进。如果父项是测试,则删除其所有子项。但是这样做不是很好。删除了
grep
建议,在范围之间具有可传递依赖关系的设置中,它将不起作用。