草庐IT

classloading

全部标签

php - Laravel 5.3 - ClassLoader.php 第 414 行中的 ErrorException

我正在使用Laravel5.3。我刚刚在我的项目中安装了干预/图像包。一切正常,但我在页面上遇到错误。我已经搜索了很多来解决它,但我无法解决它。谁能帮我解决这个问题。我面临的Larave5.3错误是:ErrorExceptioninClassLoader.phpline414:include(/opt/lampp/htdocs/stellarWinds/vendor/composer/../../app/Http/FunnelStepsController.php):failedtoopenstream:Nosuchfileordirectory在我安装intervention/ima

java - 迭代 ClassLoader.getResources() 的结果时出现奇怪的 NPE

我假设以下代码是安全的,但是我在调​​用hasMoreElements()时遇到了NPE。有什么想法可能是错的吗?我应该补充一点,我在Windows64位上使用Java1.7.0_55-b13。finalListurls=newArrayList();finalStringplUri="META-INF/plugin.xml";EnumerationurlsEn=Thread.currentThread().getContextClassLoader().getResources(pluginsUri);if(urlsEn!=null){while(urlsEn.hasMoreElem

java - 如何使 JavaCompiler.CompilationTask 使用自定义 ClassLoader 或将 .class 文件用于 missin .java 文件?

更具体:我自己写了ClassLoader,加载.jar来自全局库路径的文件.jar来自项目特定路径的文件编译.java项目特定路径中的文件加载所有.class项目特定路径中的文件到目前为止,这分离了我的项目实例,从所有(子)目录加载一切正常,适用于(1)所有库和(2)子库,(3)可以编译所有.java文件,(4)可以加载.class文件,我还可以重新实例化已经加载的类,因为我的ClassLoader管理子ClassLoader允许这样做。现在,我想改进的是,在(3)处调用编译器时,我不想每.java重新编译一次目录中的文件,但只有那些,其中对应的.class文件不存在或时间戳错误。所以

java - 使用 JavaCompiler 和 ClassLoader 编译和运行用户代码

我正在编写用于学习Java的网络应用程序。使用哪些用户可以在我的服务器上编译他们的代码并运行该代码。使用JavaCompiler编译很容易:JavaCompilercompiler=ToolProvider.getSystemJavaCompiler();DiagnosticCollectordiagnostics=newDiagnosticCollector();CompilationTasktask=compiler.getTask(null,null,diagnostics,null,null,prepareFile(nazwa,content));task.call();Lis

java - 如何控制哪个 ClassLoader 加载类?

眼前的情况并不像标题所暗示的那么简单。通过JWS运行的Java1.6_17。我有一个类,比方说MyClass,它的一个实例成员变量是来自错误的第三方库的类型,在类初始化期间,它动态地尝试使用加载它自己的一些类>Class.forName(字符串)。在其中一种情况下,它恰好动态调用:Class.forName("foo/Bar")。这个类名不遵循二进制名称的JLS,最终导致java.lang.NoClassDefFoundError:foo/Bar.我们有一个自定义的ClassLoader,我已将清理方法添加到ClassLoader.findClass(String)和ClassLoad

java - ClassLoader问题导致ClassCastException的解决方法

我有两个加载同一个类的类加载器。所以,显然这些不能相互转换。但是我需要访问在另一个ClassLoader中创建的对象。我可以访问两个类加载器。我如何在其他类中使用该对象?我不需要转换对象来匹配当前的ClassLoader。但问题是返回对象的类型是Object。因此,我必须放弃该对象才能访问某些方法。我怎样才能做到这一点?像下面这样的正常转换会导致ClassCastException,我已经知道了。Mojomojo=(Mojo)descriptor.getMojo();descriptor#getMojo()返回类型为Mojo的对象,但该方法返回Object。怎么能做到这一点?如果您需要

java - 为什么 ClassLoader.getResourceAsStream() 会返回 null?

故意破坏以下代码以识别NullPointerException的来源,这本来应该非常简单但结果让我抓狂:Propertiesproperties=newProperties();ThreadcurrentThread=Thread.currentThread();ClassLoadercontextClassLoader=currentThread.getContextClassLoader();InputStreampropertiesStream=contextClassLoader.getResourceAsStream("resource.properties");if(pro

带有锁定 jar 的 Java classLoader 困境

我在Java中使用类加载器时发现了一件奇怪的事情。如果classLoader从jar加载类,即使您取消引用classLoader,这个jar也会被无限期锁定。在下面的示例中,jar包含一个名为HelloWorld的类。我所做的是尝试通过动态添加jar的类加载器加载jar中包含的类。如果您将skip设置为true并且不调用Class.forName,您可以删除jar,但如果您不跳过,即使您取消引用classLoader(classLoader=null),在JVM退出之前无法删除jar。这是为什么?PS:我使用的是java6,出于测试目的,代码非常冗长packageloader;impo

java - classloader.getSystemResourceAsStream 返回 null

我试图在不使用文件的实际路径的情况下加载属性文件。我已经在其他一些简单的应用程序上使用了:InputStreaminputStream=ClassLoader.getSystemResourceAsStream(PROPERTIES_FILE);props.load(inputStream);但是这次不行了。由于某种原因,inputStream为空。PROPERTIES_FILE是定义为“app.properties”的常量。我尝试删除.properties扩展名并得到相同的结果。有什么想法吗?谢谢。 最佳答案 PROPERTIES

java - 类加载隔离在 jboss 5.1.x 中工作吗

我有一个非常标准的java应用程序,它使用maven一些非常常见的库,包括SpringhibernateORMhibernatevalidatorLog4j该应用程序由两个共享许多共同依赖项的war模块组成。在开发过程中,我们同时使用了jetty和tomcat,一切正常。现在我们即将部署到生产环境中,我们对这个环境有一些限制:应用程序必须部署在一个已配置的jboss5.1.x实例中,该实例在$JBOSS_HOME/common/lib/和$JBOSS_HOME/server//lib/下有大量的库,显然有很多重复的jar在这些目录中(尤其是log4j和hibernate验证的东西)我们