Java Maven Dependency Plugin命令行选项,用于在将依赖项下载到本地目录时排除可选依赖项

Java Maven Dependency Plugin命令行选项,用于在将依赖项下载到本地目录时排除可选依赖项,java,maven,Java,Maven,我认为可以使用maven dependency plugin命令行轻松下载给定工件的所有依赖项,包括可传递的依赖项。例如,以下两个命令可用于下载和复制工件的所有依赖项,仅包括编译和提供的依赖项,不包括测试依赖项 mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DgroupId=org.atmosphere -DartifactId=atmosphere-runtime -Dversion=2.3.3 -Dtype=po

我认为可以使用maven dependency plugin命令行轻松下载给定工件的所有依赖项,包括可传递的依赖项。例如,以下两个命令可用于下载和复制工件的所有依赖项,仅包括编译和提供的依赖项,不包括测试依赖项

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:get -DgroupId=org.atmosphere -DartifactId=atmosphere-runtime -Dversion=2.3.3 -Dtype=pom

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:copy-dependencies -f <path-to-local-repo>\org\atmosphere\atmosphere-runtime\2.3.3\atmosphere-runtime-2.3.3.pom -DoutputDirectory=<path-to-target-dir> -DincludeScope=compile
mvn org.apache.maven.plugins:maven依赖插件:2.10:get-DgroupId=org.atmosphere-DartifactId=atmosphere运行时-Dversion=2.3.3-Dtype=pom
插件:maven依赖插件:2.10:复制依赖项-f\org\atmosphere\atmosphere runtime\2.3.3\atmosphere-runtime-2.3.3.pom-DoutputDirectory=-DincludeScope=compile
但是上面提到的问题是,它包含被标记为可选的依赖项。继续上面的例子,被标记为“atmosphere runtime”的可选依赖项的工件“grizzly framework http”连同其所有可传递依赖项一起被下载/复制


下载依赖项时,是否有方法过滤或排除标记为“(可选)”的依赖项?

为什么要手动下载依赖项? 使用POM文件来描述您的项目。您可以添加依赖项排除,依赖项将根据需要下载,并可从本地存储库获得

以下是一些有用的参考资料:
为什么要手动下载依赖项? 使用POM文件来描述您的项目。您可以添加依赖项排除,依赖项将根据需要下载,并可从本地存储库获得

以下是一些有用的参考资料:

感谢您提供的有用参考资料。嗯,我们的环境中不使用maven。我的要求是查找并下载我希望升级的特定库的所有依赖项(包括可传递的)。我发现maven的依赖插件非常有用(我知道还有其他方法,比如使用ApacheIvy等)。尽管如此,我仍然不太明白如何解决前面提到的问题。创建POM文件,定义虚拟arifact等以及所需的依赖项。从那里运行CMD
mvn compile
-不会生成任何内容,但会下载依赖项。致您当地的mvn回购。谢谢Antoniosss。我下载依赖项没有问题。问题是如何排除标记为“可选”的选项。如果您查看我的工件“大气运行时”下面的maven repo链接,您将看到它的一些依赖项被标记为可选的,com.sun.grizzly»grizzly framework http(可选)1.0.31 1.0.51 com.sun.grizzly»grizzly websockets(可选)1.9.57 2.3.22 org.apache.geronimo.specs»geronimo-servlet_3.0_spec(可选)1.0✔ 现在的问题是如何过滤掉上面的内容。谢谢你的帮助。嗯,我们的环境中不使用maven。我的要求是查找并下载我希望升级的特定库的所有依赖项(包括可传递的)。我发现maven的依赖插件非常有用(我知道还有其他方法,比如使用ApacheIvy等)。尽管如此,我仍然不太明白如何解决前面提到的问题。创建POM文件,定义虚拟arifact等以及所需的依赖项。从那里运行CMD
mvn compile
-不会生成任何内容,但会下载依赖项。致您当地的mvn回购。谢谢Antoniosss。我下载依赖项没有问题。问题是如何排除标记为“可选”的选项。如果您查看我的工件“大气运行时”下面的maven repo链接,您将看到它的一些依赖项被标记为可选的,com.sun.grizzly»grizzly framework http(可选)1.0.31 1.0.51 com.sun.grizzly»grizzly websockets(可选)1.9.57 2.3.22 org.apache.geronimo.specs»geronimo-servlet_3.0_spec(可选)1.0✔ 现在的问题是如何过滤掉上面的内容。我报告了此功能请求我报告了此功能请求