我正在用Java开发一个库,需要在Matlab中使用它。Java和Matlab代码都在不断开发中。因此,每当我重建Java代码并创建一个新的jar文件时,都需要将其重新加载到Matlab代码中并在其中使用新的jar文件。我的问题是Matlab锁定了jar文件,除非重新启动整个Matlab环境,否则无法用新的jar文件替换旧的jar文件。如何使Matlab解锁我的jar文件?
我通过访问Java类和方法
javaaddpath('path/to/jar/file.jar');
最后我打电话给:
javarmpath('path/to/jar/file.jar');
但它也不会解锁文件。我使用Matlab 7.9.0(R2009b)。
我怀疑你不能。MatLab的内部包含一个JVM,并且JVM锁定了JAR文件。这样做是为了防止当外部某些内容修改了JAR文件后,JVM发生了讨厌的事情。
现在,如果这是您自己的应用程序,则可以编写一个自定义类加载器来解决此问题。但我怀疑MatLab会让您这样做。