I have a program that lets a user select any .class
or .jar
file and run it. The problem is that, to run it, I need to use something other than a java.io.File
, which is what a JFileChooser
returns. How can I make a java.io.File
into a java.lang.Class
or java.util.jar.JarFile
?
相关问题
- Delete Messages from a Topic in Apache Kafka
- Jackson Deserialization not calling deserialize on
- How to maintain order of key-value in DataFrame sa
- StackExchange API - Deserialize Date in JSON Respo
- Difference between Types.INTEGER and Types.NULL in
If you have a
File
object of the class you want to load, you can use aURLClassLoader
to load the class. TheFile
object can provide theURL
.The problem is you need infer the classpath from a class itself. This isn't the easiest thing to do.
Your best bet is to parse the file using a tool such as asm.objectweb.org, and find the package of the class and infer the classpath root from the combination of the class's package and the filename. Even then, you are assuming that this class only uses classes in this one files directory.