`

tomcat迁移到weblogic的几个问题

 
阅读更多

第1个问题:

 

异常描述:VALIDATION PROBLEMS WERE FOUND problem: cvc-enumeration-valid: string value '3.0' is not a valid enumeration value for web-app-versionType in namespace http://java.sun.com/xml/ns/javaee:<null>

 

 

 

因为创建项目的时候用的是JAVAEE6,所以生成web.xml文件的时候是这样的:

 

 

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <web-app version="3.0"   
  2.     xmlns="http://java.sun.com/xml/ns/javaee"   
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  5.     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">  

 

 weblogic10.3.6并不支持web-app_3_0.xsd的定义。所以报错了。

 

 

 

  改为如下就ok了:

 

<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

或者部署到weblogic 12。

第2个问题:

 

异常描述:

 

Caused by: weblogic.management.DeploymentException: [HTTP:101170]The servlet default is referenced in servlet-mapping *.js, but not defined in web.xml.

 

原因:用默认servlet处理静态资源。

 

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
  </servlet-mapping>

 

 <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.css</url-pattern>
  </servlet-mapping>

 

每个web容器都有一个默认servlet,在tomcat默认servlet的名字是:defalut。而在weblogic是:FileServlet。下面列出各容器的默认servlet的名字

 

Tomcat, Jetty, JBoss, and GlassFish 默认 Servlet的名字"default" WebLogic 默认 Servlet的名字 "FileServlet" ,WebSphere默认 Servlet的名字 "Simpledefault" 。

 

将上面的default改成FileServlet就可以了。

 

 

 

第3个问题:

 

异常描述:

 

Annotation-specified bean name 'containerTransactionType.Factory' for bean class [com.sun.java.xml.ns.javaee.ContainerTransactionType$Factory] conflicts with existing, non-compatible bean definition of same name and class [com.sun.java.xml.ns.j2Ee.ContainerTransactionType$Factory]

 

原因:

 

mvc-dispatcher-servlet.xml里有这样一个配置,

 

<!-- 需要扫描的标注了@Controller的类 -->
    <context:component-scan base-package="com">
        <context:include-filter type="regex"
            expression=".*.action.*" />
            <!-- 这里排除service,防止事务失效 -->
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
    </context:component-scan>

 

我的包名是com.公司名.模块名。由于weblogic的包里也有以com开头action结尾的包,spring把它的包也扫描了,并注入容器。出现了同名的bean。所以报错。

 

解决方法,   将<context:component-scan base-package="com">中包名加一层, 改成: <context:component-scan base-package="com.公司名">。

 

 

 

第4个问题:

 

异常描述:

 

Caused by: java.lang.Throwable: Substituted for missing class org.springframework.beans.factory.BeanCreationException - Error creating bean with name 'ditemAction': Injection of autowired depende
ncies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.jfpal.riskmanage.item.service.IDitemService 

 

这是在createing 控制器 ‘ditemAction’时出的错。原因是无法注入属性com.jfpal.riskmanage.item.service.IDitemService 。代码肯定没问题的,tomcat上运行正常。

 

经过分析,断定spring没扫描com.jfpal.riskmanage.item.service.IDitemService 所在的包。

 

然后查看web.xml,发现如下配置

 

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:applicationContext*.xml</param-value>
  </context-param>

 

将其改为

 

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml,classpath:applicationContext-myBatis.xml</param-value>
  </context-param>

 

后面那个数据源的配置。改后部署成功。原因是weblogic和tomcat解析<param-value>有点不一样。

 

 

 

第5个问题:

 

访问项目时出错,报404,说找不到**/**/dwz.frag.xml。查看web.xml,没有配置xml静态资源的访问,加上如下配置

 

    <servlet-mapping>
        <servlet-name>FileServlet</servlet-name>
        <url-pattern>*.xml</url-pattern>
    </servlet-mapping>

至此迁移成功。

分享到:
评论

相关推荐

    liferay5.1布署到weblogic9.2

    - **资源迁移:** 将原有的 Tomcat 环境中的资源(如 Jar 包)准确无误地迁移到 WebLogic 中。 - **配置调整:** 根据新环境的需求调整各项配置,特别是 JDBC 连接池和 Email Session 的配置。 - **测试验证:** 部署...

    weblogic weblogic 8.14 license

    WebLogic Server的许可证涉及到以下几个关键方面: 1. **产品版本**:WebLogic 8.14表明这是一个特定的版本,可能包含一些特定的更新或补丁。不同版本的WebLogic可能有不同的功能和许可要求。 2. **License Key**...

    最新版windows apache-tomcat-10.0.23-windows-x64.zip

    Apache Tomcat是一个轻量级应用服务器,它并不像诸如IBM WebSphere或Oracle WebLogic那样提供全面的Java EE支持,而是主要关注Servlet和JSP规范的实现。Tomcat由Apache软件基金会维护,并且与Java社区的其他项目紧密...

    企业级核心应用跨平台无缝迁移.pdf

    【企业级核心应用跨平台无缝迁移】涉及到的关键技术点主要包括以下几个方面: 1. **跨平台程序移植**:从IBM P561小型机上运行的AIX 5.3 Unix操作系统迁移到其他平台,如Linux或Windows,需要对应用程序进行重新...

    ADF开发指南第三十四章

    部署ADF应用程序还需要注意以下几个方面: - **连接到数据源**:在JDeveloper中定义数据源(如数据库),以便应用程序能够访问。 - **ADF运行时库**:如果目标服务器是第三方应用服务器(如JBoss、WebLogic等),则...

    J2EE 热部署

    热部署的实现机制通常包括以下几个关键点: 1. **类加载器**:J2EE应用服务器通常采用多类加载器策略,每个版本的代码由不同的类加载器加载。当有新的代码部署时,服务器会创建一个新的类加载器来加载新的类,而旧...

    超级有影响力霸气的Java面试题大全文档

    创建了几个String Object? 两个 31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个...

    VMware虚拟化与云计算:应用案例详解(第2版)

    通过将多台物理服务器上的工作负载迁移到少数几台经过虚拟化的服务器上,企业可以显著节省硬件成本、提高资源利用率并简化管理。 再者,书中会讲解VMware的高可用性(HA)和故障切换功能。当物理主机出现故障时,...

    javaEye论坛热点09年1月-09年10月

    1. **Java技术热点**:09年的Java技术热点可能包括J2EE应用服务器的比较(如Tomcat、Jetty、WebLogic等),Spring框架的深入探讨,Hibernate和MyBatis等ORM工具的应用,以及EJB、JMS、JNDI等企业级Java技术的讨论。...

    J2EE扫盲之-揭开J2EE集群的神秘面纱

    在J2EE集群中,WEB层的实现通常包括以下几个方面: ##### 4.1 WEB层负载均衡 负载均衡器负责将来自客户端的HTTP请求均匀地分发给集群中的各个服务器。这种机制可以有效地避免单点故障,并且能够根据当前服务器的...

    揭开J2EE集群的面纱 中文版PDF

    - **单机应用可以透明地迁移到集群环境**:实际上,在迁移到集群环境之前,通常需要对应用进行一些调整,特别是涉及到会话管理和缓存等方面。 - **分布式结构比单一结构更灵活**:尽管分布式结构在某些方面确实更加...

    sapjco3.rar

    1. **SAP JCo组件**:SAP JCo由几个核心组件构成: - **JCo Repository**:用于加载和管理SAP的ABAP代码,如函数模块和IDoc类型。 - **JCo Destination**:代表到SAP系统的连接参数,包括系统ID、用户、密码和...

    Conference paper Draft V 2.0 (1)_banksystem_

    这涉及到数据库管理系统(如Oracle、MySQL)、中间件技术(如WebLogic、Tomcat)、分布式计算框架(如Hadoop、Spark)等。同时,随着云计算的发展,越来越多的银行系统开始向云端迁移,利用云服务的弹性扩展能力应对...

    j2ee集群J2EEClustering.pdf

    - **WebLogic, WebSphere, JBoss的方案**:结对服务器复制机制,即每两个服务器结成一对,其中一个作为主服务器,另一个作为备份服务器。 - **IBM的方案**:集中状态服务器,即所有服务器都连接到一个中央状态服务器...

    java软件项目投标技术标书(完整资料).doc.pdf

    这部分通常会涵盖以下几个方面: - 数据库设计:包括数据库模型、索引优化、事务处理等。 - 安全策略:如身份验证、授权、加密传输等,确保数据安全。 - 性能优化:可能涉及缓存策略、负载均衡、数据库连接池等。 -...

    Java和PHP在Web开发方面的比较

    以下是对标题和描述中提及的几个关键知识点的详细阐述: 1. **语言特性比较**: - PHP 是一种解释型的服务器脚本语言,学习曲线相对较低,尤其是对于熟悉 C 语言的开发者而言。它的语法简洁,适合快速开发。 - ...

    J2EE指南中文版_程序设计

    - **应用服务器**:Tomcat、JBoss、WebLogic、WebSphere等,用于运行和管理J2EE应用。 **4. 文件格式介绍** - **.doc**:Microsoft Word文档,可能包含J2EE指南的文本内容。 - **.htm**:HTML文件,可能是一个关于...

Global site tag (gtag.js) - Google Analytics