如果我想编写一个程序来自动从maven项目中排除未使用的jar文件(无论我将使用哪种编程语言),我该如何开始?
目前,我有一个愚蠢的想法。除了声明的jar文件之外,每次从上到下排除依赖关系树的节点,然后编译并运行项目以查看是否可以排除此jar文件。
我找不到任何其他更好的想法,我需要帮助。请与您分享我想到的任何事情。如果您之前知道其他人已经这样做过,请将链接发布到源代码或与我分享其想法。感谢!!!!
顺便说一下,如果我想编写一个自动解决依赖冲突问题的程序怎么办?这可能吗?我知道这些问题给java开发人员带来了很多麻烦。
答案 0 :(得分:1)
编译每个已删除的依赖项的想法很好,但也不要忘记启动程序(仅在运行时需要一些依赖项)。
我必须这样做几次,但我手动完成(不自动执行程序),我删除了所有依赖项并逐个添加它们直到代码编译,直到程序运行正常。
答案 1 :(得分:0)
这样的方法存在的问题是,即使所有内容都可以正确编译,您也会在运行时丢失资源。
如果你在类加载器的帮助下加载类和东西,或者你使用反射来访问类和方法,那可能就是这种情况。 如果你看一下除了Java之外的更多动态语言,情况会变得更糟:编译器不再能帮助你了