Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Webcontainer(Tomcat)中动态加载或替换JAR_Java_Spring_Tomcat_Spring Mvc_Web Container - Fatal编程技术网

Java 在Webcontainer(Tomcat)中动态加载或替换JAR

Java 在Webcontainer(Tomcat)中动态加载或替换JAR,java,spring,tomcat,spring-mvc,web-container,Java,Spring,Tomcat,Spring Mvc,Web Container,我的问题其实很简单,虽然答案可能很复杂。是否可以在运行时动态加载JAR,或者甚至在webcontainer上下文中替换已加载的JAR?在这个特定的例子中,我对Tomcat和SpringMVC的结合很感兴趣,但我想这项技术(如果有的话)将适用于其他技术栈 如果问题的答案是肯定的,那么接下来的问题是:哪种方法最简单?我知道OSGi,我非常确信它可以在Web容器中动态加载JAR,但我认为这是一个重量级解决方案。 < P>我不确定JAR是如何加载的,但是您可以在运行时动态加载任何类。如果您感兴趣的是JA

我的问题其实很简单,虽然答案可能很复杂。是否可以在运行时动态加载JAR,或者甚至在webcontainer上下文中替换已加载的JAR?在这个特定的例子中,我对Tomcat和SpringMVC的结合很感兴趣,但我想这项技术(如果有的话)将适用于其他技术栈


如果问题的答案是肯定的,那么接下来的问题是:哪种方法最简单?我知道OSGi,我非常确信它可以在Web容器中动态加载JAR,但我认为这是一个重量级解决方案。

< P>我不确定JAR是如何加载的,但是您可以在运行时动态加载任何类。如果您感兴趣的是JAR中包含的类,那么可以使用类加载器加载这些类。或者更具体地说是一个JAR类加载器

如果您试图替换一个JAR,那么方法可能是替换从该JAR加载的类,唯一的方法是如果对每个类的引用都是“垃圾收集”的。此时,您可以从新位置加载相同的类


与您的问题类似

我不确定JAR到底是如何加载的,但您可以在运行时动态加载任何类。如果您感兴趣的是JAR中包含的类,那么可以使用类加载器加载这些类。或者更具体地说是一个JAR类加载器

如果您试图替换一个JAR,那么方法可能是替换从该JAR加载的类,唯一的方法是如果对每个类的引用都是“垃圾收集”的。此时,您可以从新位置加载相同的类


与您的问题类似

是的,我知道我们可以在运行时动态加载类,但我的问题是针对web容器内的动态类/jar加载,例如tomcat。您认为这在一个容器中仍然有效吗?当从web容器中调用“JarClassLoader”类时,它会有效吗?我猜是的。它的唯一用途是在运行时从Jar文件动态加载资源。它是“ClassLoader”的一个遥远的子类,绝对可以在web容器中工作。如果您使用JarClassLoader类或任何其他类加载器,应该很容易在几行代码中进行测试。是的,我知道我们可以在运行时动态加载类,但我的问题是针对web容器(例如tomcat)中的动态类/jar加载。您认为这在一个容器中仍然有效吗?当从web容器中调用“JarClassLoader”类时,它会有效吗?我猜是的。它的唯一用途是在运行时从Jar文件动态加载资源。它是“ClassLoader”的一个遥远的子类,绝对可以在web容器中工作。如果您使用JarClassLoader类或任何其他类加载器,那么只需几行代码就可以轻松地进行测试。