Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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 - Fatal编程技术网

Java 最好的方法是什么,使我从共享库导入的类只使用maven依赖项?

Java 最好的方法是什么,使我从共享库导入的类只使用maven依赖项?,java,maven,Java,Maven,我需要在jar(library/utility jar)上添加一个依赖项,它带来了太多的依赖项(这些依赖项导致我的应用程序无法运行,而我无法控制的事情是由第三方依赖项冲突造成的)——但我只想使用导入的jar中的一个类。比方说,例如:如果我从依赖项jar导入的类具有如下代码片段所示的导入,那么我只想将该类使用的依赖项(如guava、java dogstatsd client等)带到该类中,并排除所有其他内容 我知道我可以使用排除,比如——但是共享库有太多的依赖项——列举所有的依赖项似乎是不合理的

我需要在jar(library/utility jar)上添加一个依赖项,它带来了太多的依赖项(这些依赖项导致我的应用程序无法运行,而我无法控制的事情是由第三方依赖项冲突造成的)——但我只想使用导入的jar中的一个类。比方说,例如:如果我从依赖项jar导入的类具有如下代码片段所示的导入,那么我只想将该类使用的依赖项(如guava、java dogstatsd client等)带到该类中,并排除所有其他内容

我知道我可以使用排除,比如——但是共享库有太多的依赖项——列举所有的依赖项似乎是不合理的

from-看起来我可以排除所有可传递依赖项,并显式指定我从jar导入的类所使用的依赖项。看来这是解决我问题的可能办法

这是最好的解决办法吗

import com.google.common.collect.Lists;
import com.google.common.io.Files;
import com.timgroup.statsd.NoOpStatsDClient;
import com.timgroup.statsd.NonBlockingStatsDClient;
import com.timgroup.statsd.StatsDClient;
import com.timgroup.statsd.StatsDClientException;
import java.io.File;
import java.io.IOException;
import java.net.UnknownHostException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
import javax.annotation.Nonnull;
import javax.annotation.concurrent.GuardedBy;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

是的,这是最好的解决方案