Reputation: 195
I'm attempting to run a jar file on a windows VM. When testing it using the CMD prompt, I get this error -
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
Caused by: java.lang.NoClassDefFoundError: java/net/http/HttpClient
at jarName.Main.removeExtinct(Main.java:250)
at jarName.Main.main(Main.java:93)
... 5 more
Caused by: java.lang.ClassNotFoundException: java.net.http.HttpClient
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more
This is my MANIFEST.MF:
Manifest-Version: 1.0
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Rsrc-Class-Path: ./ selenium-server-standalone-3.7.1.jar aws-java-sdk-s3
-1.11.529.jar aws-java-sdk-kms-1.11.529.jar aws-java-sdk-core-1.11.529.
jar ion-java-1.0.2.jar jackson-dataformat-cbor-2.6.7.jar jmespath-java-
1.11.529.jar aws-java-sdk-dynamodb-1.11.529.jar httpclient-4.0.1.jar co
mmons-logging-1.1.1.jar commons-codec-1.3.jar httpcore-4.0.1.jar jackso
n-core-2.9.3.jar jackson-databind-2.9.3.jar jackson-annotations-2.9.0.j
ar postgresql-42.2.8.jar json-20190722.jar commons-net-3.6.jar jasypt-1
.9.0.jar ebay-oauth-java-client-1.1.0.jar okhttp-3.10.0.jar okio-1.14.0
.jar snakeyaml-1.20.jar joda-time-2.9.9.jar slf4j-api-1.7.25.jar seleni
um-java-3.11.0.jar selenium-api-3.11.0.jar selenium-chrome-driver-3.11.
0.jar selenium-edge-driver-3.11.0.jar selenium-firefox-driver-3.11.0.ja
r selenium-ie-driver-3.11.0.jar selenium-opera-driver-3.11.0.jar seleni
um-remote-driver-3.11.0.jar selenium-safari-driver-3.11.0.jar selenium-
support-3.11.0.jar byte-buddy-1.7.9.jar commons-exec-1.3.jar guava-23.6
-jre.jar jsr305-1.3.9.jar checker-compat-qual-2.0.0.jar error_prone_ann
otations-2.1.3.jar j2objc-annotations-1.1.jar animal-sniffer-annotation
s-1.14.jar jjwt-0.9.0.jar commons-lang3-3.7.jar gson-2.8.6.jar
Rsrc-Main-Class: jarName.Main
Class-Path: .
I think the class it's saying it can't find is httpclient-4.0.1.jar which is on the 6th line if the MANIFEST file. The only issue I can think of is the Class-Path at the end of the MANIFEST being just .
I also unzipped the .jar
file, to make sure the relevant .jar
files are actually present, which it is (assuming httpclient-4.0.1.jar
is the correct file).
I can run other .jar
files on this VM, though none with this class in it. I've updated Java as well, just in case, which didn't help.
Upvotes: 1
Views: 10848
Reputation: 1124
httpclient-4.0.1.jar
most probably means version v4.0.1 of org.apache.httpcomponents:httpclient
.
And java.net.http.HttpClient
was intriduced since 11 version of JDK.
Didn't you forget to use correct version of jre/jvm?
Upvotes: 2