Hi Christian, Thanks for the response. Unfortunately, I've not been able to get the reloading working.
Kind regards, Reece On Wed, 21 Apr 2021 at 18:49, Christian Grün <christian.gr...@gmail.com> wrote: > Hi Reece, > > If you install your Java code as JAR file in the repository [1], the > code will be loaded and unloaded every time when your query is > executed. If you get an error message… > > java.lang.reflect.InaccessibleObjectException: Unable to make field > private final jdk.internal.loader.URLClassPath > java.net.URLClassLoader.ucp accessible: module java.base does not > "opens java.net" to unnamed module @79e2c065 > > …unloading fails [2], as you’re probably using a more recent version > of the JDK, which restricts reflective access to internal variables. > You can get around this by adding Java flags at startup time: > > --add-opens java.base/java.net=ALL-UNNAMED > --add-opens java.base/jdk.internal.loader=ALL-UNNAMED > > Maybe there are better solutions to unload JAR files today. > Suggestions are welcome! > > Hope this helps, > Christian > > [1] https://docs.basex.org/wiki/Repository#Java > [2] > https://github.com/BaseXdb/basex/blob/master/basex-core/src/main/java/org/basex/util/JarLoader.java#L34 > > > > On Tue, Apr 20, 2021 at 6:44 PM Reece Dunn <mscl...@googlemail.com> wrote: > > > > Hi all, > > > > I'm working on a Java class that I'm importing into an XQuery, so I can > do additional processing on the data that isn't easily expressible in > XQuery (or XSLT). In order to get BaseX to pick up a modified version of > the jar file I'm building, I'm restarting the BaseX http server. > > > > This makes it slower to turn around testing the changes. Is there a > better way of doing this? > > > > Kind regards, > > Reece >