博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat迁移到weblogic的几个问题
阅读量:6903 次
发布时间:2019-06-27

本文共 3362 字,大约阅读时间需要 11 分钟。

第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]        
  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了:

 

或者部署到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>

至此迁移成功。

 

原作者链接:http://itindex.net/detail/54276-tomcat-weblogic-%E9%97%AE%E9%A2%98

      http://www.iteye.com

转载于:https://www.cnblogs.com/houyanbin/p/9916796.html

你可能感兴趣的文章
编程之美2.8 | 找符合条件的整数
查看>>
Redhat6.x下如何制作虚拟机快照和镜像封装
查看>>
maven profile实现多环境配置
查看>>
android窗口管理剖析
查看>>
springmvc 框架搭建及详解
查看>>
event.getRawX()和event.getX()的区别
查看>>
Could not load java.net.BindException错误解决
查看>>
Spring Boot: 加密应用配置文件敏感信息
查看>>
tf.nn.conv2d和tf.contrib.slim.conv2d的区别
查看>>
[转] 利用fiddler为windows phone模拟器抓包
查看>>
GitLab安装
查看>>
写给开发者看的关系型数据库设计
查看>>
SharePoint SPListWS.Lists 调用数据量过大时报错的处理方法
查看>>
iOS之CATextLayer属性简介
查看>>
win10系统下cmd输入一下安装的软件命令提示拒绝访问解决办法
查看>>
git报错You are not allowed to force push code to a protected branch on this project
查看>>
times(NULL) Segmentation fault
查看>>
洛谷OJ P1010 幂次方 解题报告
查看>>
Python虚拟环境Virtualen简单使用
查看>>
给春节的宴客小吃来点小惊喜---绿茶甜心曲奇
查看>>