当前位置: 首页 > 知识库问答 >
问题:

PMD规则“使用适当的类加载器”解释?

丁念
2023-03-14

PMD规则如下:

使用合适的类加载器(关键)

在J2EE中,getClassLoader()可能无法按预期工作。使用线程。currentThread()。改为getContextClassLoader()

你能解释一下他们的想法吗?这里“J2EE”环境的确切含义是什么?

共有1个答案

孙才捷
2023-03-14

J2EE环境指的是Java企业版。在这里,您不需要在JVM上作为独立的应用程序运行程序,而是让JEE应用服务器(例如Glassfish或Tomcat)为您运行程序。

应用服务器提供了许多不同的方法来运行程序,例如,它们提供并发和分布式执行。AppServers使用类加载器,有时会有一个层次结构,例如EAR(Enterprise ARchive)有一个层次结构,而EAR内部的WAR(Web ARchive)有一个不同的层次结构。正因为如此,不能确保您总是通过getClassLoader()调用获得正确的ClassLoader。使用Thread.currentThread(). getContextClassLoader(),您将始终获得加载应用程序的ClassLoader。

(注意:这并不是完全正确的,有些应用程序使用ContextClassLoader(如Spring、OSGi)进行了欺骗。)。不过,这是获得合适的类加载器(ClassLoader)的最佳方法。

 类似资料:
  • 在J2EE中,可能无法正常工作。改用。 多少能说明他们在想些什么?这里的“J2EE”环境到底是什么意思?

  • 我们在Java项目中使用源代码分析器PMD。我正在努力解决报告中的问题,目前正在努力解决规则。我知道这个想法不是为了创建大型类。 然而,我不喜欢“巨大”这个词,因为它太模糊了。有人能解释一下这条规则是如何运作的吗?报告说。 可能的上帝类(WMC=47,ATFD=11,TCC=0.06315789473684211) 这些数字意味着什么?有人知道决定某个特定类是否庞大的公式吗? 这个规则的Javad

  • 而类的加载规则, 都是一样的: Yaf规定类名中必须包含路径信息, 也就是以下划线"_"分割的目录信息. Yaf将依照类名中的目录信息, 完成自动加载. 如下的例子, 在没有申明本地类的情况下: 例 5.1. 一个映射的例子Zend_Dummy_Foo //Yaf将在如下路径寻找类Foo_Dummy_Bar {类库路径(php.ini中指定的ap.library)}/Foo/Dummy/Ba

  • 有人能详细解释一下这条规则吗。规则:AccessorMethodGeneration优先级:3避免自动生成的方法访问私有字段和内部/外部类的方法,并提供字段和方法的具体示例?

  • 在处理arch4u-pmd项目期间,我们制定了几个基于java的pmd规则,在基于XML的规则集< code>our-rules.xml中配置它们,并将其作为普通的java库/工件(< code > io . github . ABC:my-PMD-rules:0 . 1 . 0 )发布到我们的工件存储库中。工件结构如下所示: 我们如何使用pmd插件将它们添加到Gradle项目中? 我们必须处理以

  • 问题内容: 是否有很好的资源来描述PMD规则集背后的“为什么”?PMD的站点具有“什么”(每条规则的作用),但是并未说明PMD为何具有该规则以及为何忽略该规则会使您在现实世界中遇到麻烦。特别是,我很想知道PMD为何具有避免规则In避免(InstantInstantiatingObjectsInLoops和OnlyOneReturn)(如果需要创建一个与集合中每个对象相对应的新对象,则第一个似乎是必