代码是execute里面设置null不会有问题,如果是对象,就会报错。代码如下:
HttpGet get = new HttpGet();
HttpResponse response = HttpClients.createDefault().execute(get);
错误信息如下:
PS D:\work\eclipsetest\zClient> java -jar .\Client1.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
<p>谢谢各位,确实是依赖打包不进去,看异常提示是这样,eclipse的JAR file,打包对有的依赖就是找不到。后面我用eclipse的Runable JAR file方式打包就可以找到依赖了</p>
<p>这不是说了吗java.lang.ClassNotFoundException: org.apache.http.client.methods.HttpUriRequest</p>
找不到这个类,你打包的时候没有将依赖一起打包,所以找不到这个类
<p>普通的jar不会把依赖打进去,你需要Fat Jar。</p>
目前大部分应用都可以基于springboot,打成fatjar就方便很多了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。