JavaEE error整理(不断更新)

该文章用于整理开发中遇到的一些错误,及解决方法,不断整理更新。

1. 缺包异常

异常1:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.web.context.ContextLoader.<clinit>(ContextLoader.java:146)
at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:53)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:44)
需要加上:commons-logging.jar,log4j-1.2.11.jar
———————————————————————————
异常2:
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [text.xml]; nested exception is java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
Caused by: java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
at java.lang.Class.forName0(Native Method)
需要加上:aspectjweaver.jar
———————————————————————————
异常3:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘logBean’ defined in class path resource [spring.xml]: Initialization of bean failed; nested exception is org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.
Caused by: org.springframework.aop.framework.AopConfigException: Cannot proxy target class because CGLIB2 is not available. Add CGLIB to the class path or specify proxy interfaces.
需要加上:cglib-2.1.3.jar
———————————————————————————
异常4:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘logBean’ defined in class path resource of ServletContext: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
需要加上:jta.jar
———————————————————————————
异常6:
java.lang.NoClassDefFoundError: org/dom4j/Attribute
需要加上:dom4j.jar
———————————————————————————
异常7:
java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
需要加上:ehcache.jar
———————————————————————————
异常8:
java.lang.NoClassDefFoundError: net/sf/cglib/core/KeyFactory
需要加上:cglib-full.jar

2. 加载出错

2.1 <context:property-placeholder>:Could not resolve placeholder XXX in string value XXX

当spring 配置多个properties 文件的时候需要特殊处理

方式1:

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath*:mongodb.properties</value>
                <value>classpath*:xxx.properties</value>
                <value>classpath*:bbb.properties</value>
            </list>
        </property>
        <property name="ignoreUnresolvablePlaceholders" value="true" /> 
    </bean>

 方式2:

<context:property-placeholder location="classpath*:xxx.properties" ignore-unresolvable="true" />

PS :  重要属性:

<property name="ignoreUnresolvablePlaceholders" value="true" />    ignore-unresolvable="true"

2.2 Errors running builder 'DeploymentBuilder' on project_java 

此问题一般发生在Myeclipse 保存文件并自动部署时候。
Errors occurred during the build.
Errors running builder 'DeploymentBuilder' on project '项目名'.
java.lang.NullPointerException
有一种产生此错误的原因是因为此项目不不是由myeclipse创建的。
所以你需要检查.project 文件。
并且添加com.genuitec.eclipse.j2eedt.core.webnature
1、首先关闭MyEclipse工作空间。
2、然后删除工作空间下的
“/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.genuitec.eclipse.ast.deploy.core.prefs”
取消myeclipse的自动部署:
右键点击项目 ->properties -> Builders ,将DeploymentBuilder勾选去除.

3 Other

在myeclipse中启动tomcat自动进入debug 解决方法

将你的服务器启动方式设置为run方式,不要设置为debug方式。
具体采用的方法:
如下:
window->preferences  然后找到你的tomcat所在的目录,打开launch窗口,然后修改tomcat lanuch mode为Run mode。然后点击Apply,最后点击OK.
这样设置之后,以后服务器就是在run mode下运行了
如果你不这样设置,那就在每次启动的时候,选择run server,而不是debug server.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然!下面是一些常见的JavaEE面试题整理: 1. 什么是JavaEE?它是什么样的技术栈? JavaEEJava Enterprise Edition)是一套用于开发企业级应用程序的Java平台。它包括了一系列的规范和API,用于构建分布式、可伸缩、可安全性的应用程序。JavaEE的技术栈包括Servlet、JSP、EJB、JPA、JMS等。 2. Servlet是什么?它与JSP有什么区别? Servlet是JavaEE中处理Web请求的基本组件,它可以接收HTTP请求并生成HTTP响应。与之相比,JSP(JavaServer Pages)是一种基于HTML的模板语言,用于生成动态内容。Servlet通常用于处理业务逻辑,而JSP则用于显示数据。 3. 什么是EJB?它的作用是什么? EJB(Enterprise JavaBeans)是JavaEE中的一种组件模型,用于开发分布式事务处理应用程序。它提供了容器管理、事务管理、安全性等服务,简化了开发者的工作。EJB主要分为会话Bean、实体Bean和消息驱动Bean。 4. JPA与Hibernate有什么关系? JPA(Java Persistence API)是JavaEE中用于对象关系映射(ORM)的规范,它定义了一套标准的API用于操作数据库。而Hibernate是一个实现了JPA规范的ORM框架,它提供了丰富的功能和灵活性。 5. 什么是连接池?为什么要使用连接池? 连接池是一种用于管理数据库连接的技术,它通过预先创建一定数量的数据库连接并将其保存在连接池中,供应用程序使用。使用连接池可以避免频繁地创建和销毁数据库连接,提高数据库访问的性能和效率。 这只是一些常见的JavaEE面试题,希望对你有帮助!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值