I want to import a class that I already write in an external folder,
for example :
My class Example.java that is located in c:\class\Example.java to my script like using
var importedClass = new JavaImporter("c:\\class\\Example.java");
or
importClass("c:\\class\\Example.java");
this is in a script for ScriptEngine rhino
how can I do that ???
I understand that you want to:
The javax.tools package provides a mechanism for compiling code, though if you’re not running in a JDK, ToolProvider.getSystemJavaCompiler() will return
nulland you’ll have to rely on some other compilation mechanism (invoking an external compiler; embedding the Eclipse compiler; etc.).Java bytecode (
.classbinaries) can be loaded at runtime via ClassLoaders.In order for the loaded classes to be visible to your scripting engine, you’ll need to provide them via the ScriptEngineManager(ClassLoader) constructor.
EDIT: based on the requirements
This script just invokes the Java reflection API to load and instantiate a class
HelloWorld.classfrom theC:\foo\bindirectory:There are more elegant ways of doing this, I’m sure.