问题标签 [urlclassloader]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Tomcat下URLClassLoader慢
我有一个包含大约 30 个 jar 的类路径目录。在我的普通控制台应用程序中,我正在创建一个我用指向所有这些 jarURLClassLoader
的 s 列表初始化它的位置。URL
像这样一切正常,从我的URLClassLoader
.
现在我采用这段代码并使其在 Tomcat 下运行,例如在 servlet 中的一个简单 Web 请求触发doGet()
。令人惊讶的是,加载平均类所需的时间延长了 10-15 倍,使得整个初始化时间无法接受。该问题至少适用于 Tomcat 版本 6 和 7。
有任何想法吗?
java - 通过 jnlp 动态加载 jar 文件
我有一个正在运行和测试过的代码,我可以在其中加载一个 jar 文件和类路径的所有依赖项。
我现在需要的不是将 .jar 文件放在本地路径中,而是直接像我们通过调用 .jnlp 的按钮进入浏览器时执行的操作一样。
基本上是调用例如xpto/test.jnlp。将 File file = new File("D:\test\mytest.jar") 替换为 URLfile = new URL("xpto/test.jnlp")。
有可能的?如何调整上面的代码以通过 jnlp 执行并使用其余代码?
非常感谢提前问候
java - URLClassLoader 将 Annotation 加载为 com.sun.$Proxy$27
我正在尝试动态加载一个java类。基本思想是,一个 jar 包含在运行时动态加载的模块。这就是我的做法(我知道这很老套,但没有其他方法可以将 jar 动态添加到已经存在的类加载器 afaik 中):
每个模块都使用@Module 注释进行注释。因此,为了获得有关该模块的更多信息,我尝试获取注释。问题是 foo 上的注释类型是 com.sun.$Proxy$27 而不是 com.coderunner.Module ,因此我得到一个
我不得不说我有点困惑这里发生了什么。我想做的事可能吗?如何?
编辑:我也许还应该提到我在 spring/spring-mvc 和 tomcat 环境中尝试这个。
java - Java URLClassLoader:选择要导入的类
目前我正在使用这条线来加载第 3 方 JAR 并将其包/类添加到我的程序中
这种方法的问题是加载了整个 JAR,这意味着所有包和所有类都被导入。如何告诉 URLClassLoaded 只加载几个选定的类?
一个例子是这样的 JAR 层次结构
- 包 A
- 1级
- 2 级
- 包 B
- 1级
- 2 级
- 3 级
- 4级
我想做一些类似“只导入 A.* 和 B.class2”的事情
java - 在 Jar 文件中加载类并获取它的路径
我知道这里已经有很多类似的问题,但我无法从他们那里得到更聪明的答案。我想在 jar 文件中加载一个类,此时这没问题,但是当我想将路径传递给我自己的 ClassLoader 时,它会抛出一个异常,它找不到该类。是否可以使用绝对路径在 jar 中加载类?例如,Class cls = loader.loadClass(/path/MyPlugin.jar/MyPlugin.class);
但是当我这样做时:
它打印出错误的。我尝试使用MyPlugin.jar!/MyPlugin.class
或者MyPlugin.jar.jar!MyPlugin.class
我有时在网上看到的,即使我真的不知道它是什么意思......
当我这样做时,它会找到类:
但是现在,我怎样才能接收到路径?类似的东西URL url = cl.getResource("MyPlugin");
(它返回一个空值)
java - Java 让 jarclassloader/urlclassloader 使用 jar
我正在加载一个 .jar 文件JarClassLoader
。jar文件加载后,我想删除该文件。一切正常,除了删除文件,因为该文件一直由 Java jvm 使用。如何解锁罐子?我已经关闭了所有我的inputstreams
并关闭了urlclassloader
.
谢谢你,里兹
java - 为什么 URLClassLoader 不加载类?
我已下载该aspectJ.jar
文件并将其解压缩到一个临时目录中(此 jar 文件仅用于测试目的)。我有以下代码:
存在一个具有类的文件JoinPoint
,但我得到一个ClassNotFoundException
. 有谁能够帮我?
scala - akka scala:URLClassLoader 导致演员不会失败 isAssignableFrom
我正在尝试从外部 jar 动态加载演员,然后将该演员启动到 ActorSystem 中。我想要一个用于加载演员的插件式架构。到目前为止,我尝试了以下代码:
这部分工作正常,但是如果我启动 ActorSystem 并尝试启动我的新演员:
我得到以下异常:
深入研究 Props.scala 文件,我发现错误是由使用 isAssignableFrom 引起的。我对其进行了一些测试,发现存在以下令人困惑的行为:
有没有办法解决这种行为?我猜这与系统类加载器和 URL 类加载器中定义的 Actor 类有关。我的插件尝试甚至可能吗?
哦,我正在使用带有 scala 2.10.2 的 akka 2.2.1
编辑
为了澄清一点,clazz.isInstanceOf[Class[Actor]]
由于类型擦除,这对任何事情都是正确的。
java - 从非默认包加载类
当我尝试在运行时动态加载一个类,并且该类是在一个不是默认包的包中编译时,我有一个 ClassNotFound 异常。
示例:包名称:“型号”。类名:“Cup.class”。这是我的代码:
java - java.net.URLClassLoader 不添加类注释
在开发 ant - 任务以使用注释为项目自动生成一些 gui - 代码时,因为我更喜欢声明性方法,所以我使用java.net.URLClassLoader
将类动态添加到我的类路径中。
在扫描类以查找类级别注释时,尽管
它们存在,但没有找到它们。
例如
,有没有其他人遇到过这个问题并且可以提供解决方案?
(将 URLClassLoader 子类化以在内部对 loadClass 的调用被视为 loadClass(Class clazz, true) 也不起作用)
@AutoGenerateGUI
class LoginBean
感谢https://stackoverflow.com/users/1103872/marko-topolnik 另外:检索动态加载的类的注解总是返回 com.sun.proxy.$Proxy[x],这样才能得到原来的注解类型我必须使用构造URLClassLoader 加载注释作为 com.sun.$Proxy$27迭代代理对象实现的接口。尽管这不是必需的,但确实其他解决方案(例如使用 instanceof)失败了。