Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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项目中自动排除未使用的jar文件?_Java_Maven - Fatal编程技术网

Java 如何从maven项目中自动排除未使用的jar文件?

Java 如何从maven项目中自动排除未使用的jar文件?,java,maven,Java,Maven,如果我想编写一个程序,自动从maven项目中排除未使用的jar文件(无论我将使用哪种编程语言),我应该如何开始 现在,我有一个愚蠢的想法。除了声明的jar文件,每次自上而下排除依赖关系树的一个节点,然后编译并运行项目,看看是否可以排除这个jar文件 我找不到其他更好的主意,我需要帮助。请和我分享你的想法。如果你知道有人做过这件事,请张贴到源代码的链接或与我分享它的想法。谢谢 顺便问一下,如果我想写一个自动解决依赖冲突问题的程序呢?这可能吗?我知道这些问题困扰了java开发人员很多。为每个删除的依

如果我想编写一个程序,自动从maven项目中排除未使用的jar文件(无论我将使用哪种编程语言),我应该如何开始

现在,我有一个愚蠢的想法。除了声明的jar文件,每次自上而下排除依赖关系树的一个节点,然后编译并运行项目,看看是否可以排除这个jar文件

我找不到其他更好的主意,我需要帮助。请和我分享你的想法。如果你知道有人做过这件事,请张贴到源代码的链接或与我分享它的想法。谢谢


顺便问一下,如果我想写一个自动解决依赖冲突问题的程序呢?这可能吗?我知道这些问题困扰了java开发人员很多。

为每个删除的依赖项进行编译的想法很好,但是不要忘记启动程序(一些依赖项仅在运行时才需要)


我不得不这样做过几次,但我手动(不是用程序自动地)删除了所有依赖项,并逐个添加它们,直到代码编译,直到程序运行正常。

这样的方法的问题是,即使所有内容都可以正确编译,但在运行时仍会丢失资源

如果在类加载器的帮助下加载类和内容,或者使用反射来访问类和方法,则可能会出现这种情况。
如果你看Java之外的更多动态语言,情况会更糟:编译器将不再对你有那么多帮助

可能的不完全重复。我知道有一个依赖插件可能会有所帮助,但是必须手动运行命令来决定应该排除哪个依赖项。但是,我想为自己编写一个自动完成这项任务的程序。等java 9,我相信“java平台模块系统”就是为了完成这类任务而设计的,但更好。逐个添加依赖项也是一个好主意,但我认为这可能会增加一些未使用的依赖项。我已经提到,我将编译并运行该项目,看看它是否有效。这意味着再次测试每个可能的用例,因为您无法确定哪些可能会失败。我同意。我在这里问,是否有更好的解决办法。