我正在尝试运行我创建的使用Log4j22.10.0的Java9模块。我遇到的问题是我得到了java.lang.NoClassDefFoundError:Couldnotinitializeclassorg.apache.logging.log4j.util.PropertiesUtil在执行LogManager.getLogger()时。它发现LogManager类很好,但是当它从StatusLogger内部调用newPropertiesUtil("log4j2.StatusLogger.properties")时,它会收到上述错误。如何修复/找到解决方法?添加信息:堆栈跟踪:Exce
我正在研究使用Jigsaw来减少微服务的占用空间。我必须找到的最后一个依赖项是java.beans.Introspector。想象一下当我发现我需要引入整个模块java.desktop时我的惊讶,它包含各种不相关的东西,如awt、applets、swing等。这对我来说似乎很疯狂,bean内省(introspection)肯定应该是基本语言的一部分,并且与UI功能无关。我认为该依赖项来自SpringBoot的嵌入式Tomcat,因此我无法自行修改它。问题:模块是您可以访问的最精细的粒度,还是有另一种方法可以减少脂肪。 最佳答案 依赖
我有一个使用customloginmodule的应用程序JBoss的。身份验证可能因多种原因而失败,我必须向用户显示这些错误,而不是通常的Inavlidusername/password错误。有没有办法从登录消息中获取错误消息?我认为最好是通过异常,因为身份验证返回一个boolean值,但是我不知道如何在身份验证后捕获它。欢迎任何指点。 最佳答案 使用阀门org.jboss.web.tomcat.security.ExtendedFormAuthenticator并从session中获取j_exception。引用:http://b
需要创建一个由注册模块和主项目组成的多模块maven项目。问题是无法使用在不同模块中声明的类。例如:我在我parent的src/main/java目录中有一个ParentClaz,在child的src/main/java目录中有一个ChildClaz。现在不可能在ChildClaz中同时使用ParentClaz,反之亦然。项目的结构如下所示:+--AdminPortal我的AdminPortalPOM:4.0.0com.exampleAdminPortalpom1.0-SNAPSHOTAdminPortalhttp://maven.apache.orgregistration这是子PO
如果两个文件在两个不同的maven-modules中具有不同的内容但同名的文件,它们都放在一个jar文件中,带有mavenassembly-plugin,只有一个文件最终成为.jar文件的一部分。问题:在构建jar文件时,有没有办法确保将文件的内容组装成一个文件?我显然不想手动将信息放在一起,因为这是我试图通过将项目拆分为不同模块来避免的。编辑:我有一个我想保留的自定义程序集描述符,即使我开始使用另一个插件也是如此。这个描述符基本上排除了除英语之外的所有语言的资源和错误文本。jar-with-dependenciesjarfalse/truetrueruntime**/*Resou
这是我的项目结构:├──module_1├──sub_module├──module_11├──module_12├──module_13├──module_2现在,如果我使用以下命令构建它:$~mvnpackage-plsub_module它只会构建sub_module而不会构建它的子模块。构建module_11/module_12/module_13的唯一方法是如下所示明确指定它们:$~mvnpackage-plsub_module,sub_module/module_11,sub_module/module_12,sub_module/module_13这对我来说很不方便,只是想
我目前正在编写一个需要在不同类型的设备上运行的应用程序。我的方法是制作一个“模块化”应用程序,可以根据需要在其上运行的设备动态加载不同的类。为了使应用程序易于扩展,我的目标是为附加模块(.jar或.class文件)分配一个特定路径,而核心程序保持原样。当不同的客户需要不同的模块时(无需为每个客户编译不同的应用程序),这一点至关重要。这些模块将实现一个公共(public)接口(interface),而“核心”应用程序可以使用接口(interface)上定义的这些方法,并让单个实现完成工作。按需加载它们的最佳方式是什么?我正在考虑使用URLClassLoader,但我不知道根据新模式和Ja
可以为在模块/上下文初始化中调用的EJB3.0.jar定义一个监听器吗?类似web项目的ServerContextListener? 最佳答案 据我所知,不适用于EJB3.0。在EJB3.1中,您可以使用单例EJB来做到这一点。来自ApplicationStartup/ShutdownCallbacks:1:@Startup2:@Singleton3:publicclassFooBean{4:5:@PostConstruct6:voidatStartup(){...}7:8:@PreDestroy9:voidatShutdown()
我有一个Maven多模块项目,它调用两个子模块。请注意,此子模块不使用父标记。现在我需要只在一个子模块上执行部署阶段,而不是在另一个子模块上执行。有人可以就执行此操作的最佳方法提供任何建议吗?谢谢 最佳答案 如本FAQ所述对于mavendeployplugin,以及thisSO讨论,您应该在您不想部署的模块的pom中添加以下内容。maven-deploy-pluginX.Ytrue 关于java-如何跳过多Maven模块中的生命周期阶段,我们在StackOverflow上找到一个类似的问
当我有一个由多个模块组成的Maven应用程序并且每个模块都包含一个log4j.properties文件时,会发生什么情况,它们是否会被某个模块合并或覆盖(如果是,是哪个模块)?更新:按照你的建议,我现在已经在我的poms中排除了这样的额外属性:[...]**/log4j.propertiesP.S.:但是,Maven无法识别“excludes”标签,“exclusions”仅适用于依赖项,不适用于资源。更新刚刚在log4jinamulti-moduleMavenproject中发现我可以将log4j.properties放在src/test/resources中,这样它们就不会包含在可