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
>

Reply via email to