IllegalArgumentException、LifecycleException:IDEA搭建SSM框架环境常见错误

总结及建议:

1)搭建SSM框架,spring.jar版本最好都统一,不然容易报错导致spring容器加载不上

2)每次更换完jar,必须执行更新pom.xml:右键pom.xml->reimport

 

错误一:java.lang.IllegalArgumentException: ResourceLoader must not be null

java.lang.IllegalArgumentException: ResourceLoader must not be null
	at org.springframework.util.Assert.notNull(Assert.java:115)
	at org.springframework.core.io.support.ResourcePatternUtils.getResourcePatternResolver(ResourcePatternUtils.java:62)
	at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.setResourceLoader(ClassPathScanningCandidateComponentProvider.java:238)
	at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.<init>(ClassPathBeanDefinitionScanner.java:167)
	at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.<init>(ClassPathBeanDefinitionScanner.java:138)
	at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.<init>(ClassPathBeanDefinitionScanner.java:111)
	at org.mybatis.spring.mapper.ClassPathMapperScanner.<init>(ClassPathMapperScanner.java:75)
	at org.mybatis.spring.mapper.MapperScannerConfigurer.postProcessBeanDefinitionRegistry(MapperScannerConfigurer.java:306)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)
	at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
	at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:138)
	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4978)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5290)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

 

原因:spring-core.jar版本过低,我出现这个错误是使用了4.3.0版本,而其他spring.jar都是4.3.7版本
解决办法:spring-core.jar的版本(等于或者高于)其他spring.jar版本

 

错误二:

org.apache.catalina.LifecycleException:Failedtostartcomponent[StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@515948af]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
	at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4907)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5042)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 42 more

 

原因:spring-beans.jar版本过低,我出现这个错误是使用了4.3.6版本,而其他spring.jar都是4.3.7版本
解决办法:spring-beans.jar的版本(等于或者高于)其他spring.jar版本

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: java.lang.IllegalArgumentException: malformed是Java编译时出现的错误信息,意思是参数错误或格式错误。其中的"malformed"表示参数或格式严重错误,导致编译无法正常进行。 这个错误通常发生在编译过程中,原因有很多种可能。可能是代码中使用了错误的参数,例如传入了错误类型的参数或格式不正确的参数;也可能是代码本身存在语法错误,导致编译器无法将代码转换为可执行的字节码;还有可能是在编译过程中缺少必要的依赖或引用了不存在的类等。 要解决这个错误,我们可以根据具体的错误提示,逐步排查和修复问题。首先,我们需要仔细查看错误信息中提供的具体的错误类型和位置。然后,我们可以检查对应的代码位置,确认是否存在参数或格式错误,并根据需要进行相应的调整。此外,还可以检查相关的依赖是否正确引入,并确保引用的类存在和可用。 综上所述,当编译Java代码时出现"java.lang.IllegalArgumentException: malformed"错误时,我们需要仔细检查代码中的参数和格式是否有错误,并根据具体错误提示进行相应的修复。同时,还应检查相关的依赖和类是否都正确引入和可用。通过逐步排查和修复问题,我们可以解决这个编译错误,使代码顺利通过编译并运行。 ### 回答2: 当您在IDEA中编译Java项目时,可能会遇到java.lang.IllegalArgumentException: Malformed的异常。这个异常通常表示您的代码出现了错误,导致编译失败。 在Java中,IllegalArgumentException是RuntimeException的子类,它表示向方法传递了一个不合法或无效的参数。这意味着您的代码中存在一个方法调用,并传递了一个不符合方法要求的参数值。 常见的导致IllegalArgumentException异常的原因可能有以下几种: 1. 参数为空:某个方法要求传入参数,但您传递了一个空引用,例如传递了一个null值给一个不能接受null的方法。 2. 参数类型不匹配:某个方法期望接收一个特定类型的参数,但您传递了一个不匹配的参数类型,例如传递一个字符串给一个期望接收整数的方法。 3. 参数超出范围:某个方法要求传递一个限定范围内的参数值,但您传递的值超出了这个范围,例如传递一个负数给一个只能接受正数的方法。 要解决这个问题,您可以检查引发异常的代码行,确保传递的参数是合法的。可以检查参数是否为空,是否符合方法预期的类型和范围。如果参数不合法,您需要修正参数使其符合要求,或者将其更改为合适的值。 如果您无法找到导致异常的具体代码行,可以使用调试工具来逐步跟踪代码并查找问题所在。 总的来说,当您在IDEA中编译Java代码时遇到java.lang.IllegalArgumentException: Malformed异常时,意味着您的代码中存在一个或多个参数不合法的方法调用。您需要检查并修复这些代码行,以保证传递的参数符合方法要求。 ### 回答3: 这个错误信息是Java编译错误的一种。它指示了在编译过程中发生了一个异常,异常的类型是`IllegalArgumentException`,并且异常消息为"malformed",即格式错误。 这个错误通常意味着在编译代码时,Java编译器检测到了一个不符合语法规则或格式规范的部分。有几种可能的原因可以导致这个错误: 1. 语法错误:代码中可能存在拼写错误、缺少分号、括号未匹配等语法错误,这些错误会导致编译器无法正常解析代码。 2. 参数错误:某个方法或构造函数的参数传递错误,比如传递了一个不符合要求的参数类型或格式。 3. 格式错误:代码中使用了不符合规范的格式,例如错误的命名、缩进不正确等。 为了解决这个问题,我们可以进行以下步骤: 1. 仔细检查代码,确保没有语法错误和拼写错误。可以使用集成开发环境(IDE)提供的代码编辑功能来检查和修复这些问题。 2. 检查方法或构造函数的参数传递,确保传递的参数类型和格式符合要求。 3. 确保代码的格式正确,包括正确的缩进、命名规范等。 如果以上步骤都没有解决问题,可以尝试搜索相关错误信息,参考其他开发者的经验和解决方案。此外,可以尝试使用调试工具来逐步执行代码并查找错误的根源。 总之,"java.lang.IllegalArgumentException: malformed"这个错误是Java编译器在编译代码过程中发现了异常,原因可能是语法错误、参数错误或格式错误。通过仔细检查代码、调试和参考解决方案,我们可以解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值