I\'m new to Java, and I\'m unsure how to access a class file located in a specific directory from a separate program jar.
For example, I have an third party jar file loc
When you use "-jar"
then only the Class-Path
attribute defined in the META-INF/MANIFEST.MF
file inside the jar
file will influence the classpath.
It will also ignore the MyClass
argument (or more specifically: interpret it as an argument to the main-class defined in the MANIFEST.MF
).
If you simply want to call a class from that jar call it like this:
java -cp mainprog.jar:/mylib MyClass
// or using this one on windows:
java -cp mainprog.jar;/mylib MyClass
In your command line you are trying to run MyClass
as a program, which based on your description is not what you want.
You need to figure out what the main class is that is used to execute the program in the jar. You could unpack the jar file with jar -xf mainprog.jar
and look at the META-INF/MANIFEST.MF
file. It should have an entry that indicates that the main class of the jar is (I can't remember the name of the entry right now).
After than change your command line to something like this:
java -classpath /mainprog.jar:/mylib package.name.to.jar.MainClass