解决weblogic下通过war加载jar包中的struts的action找不到的问题

今天在功能测试环境中weblogic上部署应用时,启动后报错,说是spring找不到对应的action,所以怀疑是类加载的问题,找度娘一搜,果然是猜的没错,找到解决方法:

1. 将struts.xml加入:

<constant name="struts.convention.action.includeJars" value=".*你的jar包名.*" />

然后启动正常,但登陆后找不到struts的action.在开发环境中明显是可以的,而且在tomcat中打包war也是可以用的,但部署到weblogic中就不可以了,所以认为还是类加载的问题,再问了一下度娘,答案如下:

1. 将struts.xml加入

<constant name="struts.convention.action.fileProtocols" value="jar,zip" />

修改为:

<constant name="struts.convention.action.includeJars" value=".*你的jar包名.*,.*?/_wl_cls_gen.*?jar(!/)?"/>

许多解决此问题的文章并没有提到多个jar的问题,如果有多个jar要加载,需要用逗号分开

2. Ant打包时,war任务的属性manifest一定要写上

然后打包,部署,启动正常,打开页面登陆后,操作,一切ok,看来weblogic真是有点不太好搞啊,坑挺多。



时间: 2024-10-06 12:53:57

解决weblogic下通过war加载jar包中的struts的action找不到的问题的相关文章

spring加载jar包中多个配置文件(转)

转自:http://evan0625.iteye.com/blog/1598366 在使用spring加载jar包中的配置文件时,不支持通配符,需要一个一个引入,如下所示: Java代码 <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:beanconfigs/applicationContext_1.xml, classpath*:

spring加载jar包中的多个配置文件[转载]

在使用spring加载jar包中的配置文件时,不支持通配符,需要一个一个引入,如下所示: Java代码 <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:beanconfigs/applicationContext_1.xml, classpath*:beanconfigs/applicationContext_2.xml, ...

javaEE:day2-servlet生命周期、提交解决中文乱码、tomcat加载jar包或类文件的顺序

servlet生命周期 生命周期简介: servlet在服务器第一次被请求的时候new出来,并初始化(即init())再调用service方法.这个实在服务器中new出来,然后用HashMap加的,与客户端无关.客户端之后访问只调用这个servlet的service方法. 具体分为4步: 1 构造方法 :服务器在被客户端第一次请求的时候运行 仅在服务器中运行一次 2 init方法:客户端第一次访问服务器的时候在服务器中进行初始化 仅一次.并且可以通过config参数在 web.xml中通过(ke

关于Weblogic优先加载jar包的设置

<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app> <container-descriptor>  <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor></weblogic-web-app> weblogic.xml 放到

java动态加载jar包,并运行其中的类和方法

动态加载jar包,在实际开发中经常会需要用到,尤其涉及平台和业务的关系的时候,业务逻辑部分可以独立出去交给业务方管理,业务方只需要提供jar包,就能在平台上运行. 下面通过一个实例来直观演示: 第一:定义一个抽象类 AbstractAction (稍后换成接口的实例) [java] view plain copy package com.java.loader; public abstract class AbstractAction { public abstract String actio

动态加载jar包(二)

上次说的加载jar包,有几个问题没有解决: 1.如果项目包含了其他的jar包如何解决? 2.如何规范上传的jar包的类和方法? 下面就解决一下上面两个问题 一.首先编写被调用的类,这次使用maven工程,并且载入了第三方jar包,阿里巴巴的fastjson包 package com.qunar.hello.hello; import java.util.HashMap; import com.alibaba.fastjson.JSON; public class HelloWorld exten

动态加载jar包

一.编写被调用的类 package com.qunar.helloworld; public class HelloWorld { public String sayHello(){ return ("helloworld"); } } 使用eclipse的export功能导出jar包,放在/Users/liqiu/Documents/workspace/HelloWorld.jar 二.编写调用jar包的类 package com.qunar.studyspring.javajar;

Android下将图片加载到内存中

Android的系统的标准默认每个应用程序分配的内存是16M.所以来说是非常宝贵的,在创建应用的时候要尽可能的去节省内存,但是在加载一些大的文件的时候,比如图片是相当耗内存的,一个1.3M的图片,分辨率是2560X1920(宽X高)图片当加载到手机内存的时候就会请求19M的一块内存,这是远远超出了系统自带的内存空间,这时候应用程序就会挂掉,所以我们要进行图片的缩放处理,下面我就来带大家创建一个用来图片缩放的应用: 应用效果图如下: 核心代码的实现: package com.examp.loadp

maven加载jar包配置

maven build时报程序包不存在和找不到符号的错误,但是代码中不报错,如下: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project dataResourceManage: Compilation failure: Compilation failure: [ERROR] /D:/workspace/dat