Java 在Webcontainer(Tomcat)中动态加载或替换JAR
我的问题其实很简单,虽然答案可能很复杂。是否可以在运行时动态加载JAR,或者甚至在webcontainer上下文中替换已加载的JAR?在这个特定的例子中,我对Tomcat和SpringMVC的结合很感兴趣,但我想这项技术(如果有的话)将适用于其他技术栈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
如果问题的答案是肯定的,那么接下来的问题是:哪种方法最简单?我知道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类或任何其他类加载器,那么只需几行代码就可以轻松地进行测试。