WAjboss部署war包包 war包超过1G

当前位置: →
→ websphere6.1部署war包中含有中文文件出错AppDeploymentException:
websphere6.1部署war包中含有中文文件出错AppDeploymentException:
& 作者:佚名 & 来源: 互联网 & 热度:
&收藏到→_→:
摘要: websphere6.1 部署 war包中含有中文文件 报错 AppDeploymentException: []AppDeploymentException:&[]&org.eclipse....
"websphere6.1部署war包中含有中文文件出错AppDeploymentException:"::
websphere6.1 部署 war包中含有中文文件 报错 appdeploymentexception: []appdeploymentexception:&[]&org.eclipse.monarchivecore.internal.exception.savefailureexception:&web-inf/classes/log/称对照??doc&web-inf/classes/log/称对照??doc&web-inf/classes/log/称对照??doc&------解决方案--------------------文件名称乱码,你把你文件名称改成英语的试一下,如果还有问题,请把问题详细描述一下,再把日志贴出来------解决方案--------------------的确是中文的原因,改成英文,应该可以解决 搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
上一篇:没有了
websphere6.1部署war包中含有中文文件出错AppDeploymentException:_WebSphere相关文章
WebSphere_总排行榜
WebSphere_最新
WebSphere_月排行榜
WebSphere_周排行榜
WebSphere_日排行榜本帖子已过去太久远了,不再提供回复功能。&1&&Package&com.ibm.&&2&&3&&Public&class&ConflictClass{&&4&&&&&……&.&&5&&Public&static&String&exampleCall(string&param){&&6&&&&&String&&&7&&&&&……&;&&8&&&&&Return&&&9&&}&10&……
不存在冲突问题时的编码举例:
如果没有 jar 包冲突问题,则对这个功能的调用是简单的,只需要将 conflict_v2.jar 放在应用程序自身或者其父类加载器的查找路径上,然后在 Web 模块中直接调用即可,如下:
1&Public&String&methodA(String&param){&2&&&&……3&&&&String&rs&=&ConflictClass.exampleCall(param);&4&&&&……5&&&&Return&&6&&}
存在冲突后的命令行运行方式编码举例
针对 jar 包冲突问题,我们需要在 Web 模块中做如下的修改:
步骤一:将冲突 jar 包放在 was 可访问的路径上,比如 /usr/WebSphere/conflict_v2.jar。步骤二:将对包含冲突代码的调用封装到一组可单独运行的类中,它们将调用冲突 jar
包的功能,并将结果以系统输出的方式打印到系统标准输出上。 将这些类封装到一个单独的 jar 文件中,比如
workAroundConflict.jar,并将其放在 was 可访问的路径上,比如
/usr/WebSphere/workAroundConflict.jar。&1&Package&com.ibm.&&2&&3&&Import&com.ibm.ConflictC&&4&&5&&Public&class&WorkAround{&&6&&Public&static&void&main(String[]&args){&&7&&&&&String&param1=args[0];&&8&&&&&String&returnStr=ConflictClass.exampleCall&();&&9&&&&&System.out.println("&RTStr&"+returnStr+"&/RTStr&");&10&&&&&R&11&&}&12&&}
代码 3:将对冲突代码的调用写入一个单独的类 WorkAround
步骤三:在 Web 模块中通过命令行方式调用封装的类,通过 classpath 指定所有依赖的 jar 包和类路径。运行封装类,从系统标准输出中取得运行结果。&1&Public&static&String&methodA&(String&param){&&2&&&&&……&3&&&&&String&rtStr&=&"";&&4&&&&&String&lStr="&RTStr&";&&5&&&&&String&rStr="&RTStr&";&&6&&&&&//put&all&the&dependency&jar&here&&7&&&&&String&classPath=&8&&&&&"/usr/WebSphere/conflict_v2.&&9&&&&&/usr/WebSphere/workaroundConflict.&……";&10&&&&&String&className="com.ibm.test.WorkAround";&11&&&&&String&cmdLine="java&-classpath&"&+classPath&+"&"&+className&+&"&"+&&12&&&&&Try{&13&&&&&&&&&Process&process&=&Runtime.getRuntime().exec(cmdLine,null);&14&&&&&&&&&process.waitFor();&15&&&&&&&&&BufferedReader&br=&new&BufferedReader(&16&&&&&&&&&&&&&&&&&&&new&InputStreamReader(process.getInputStream()));&17&&&&&&&&&while&((s&=&br.readLine())!=null)&{&18&&&&&&&&&&&&&if&(null&==&out)&19&&&&&&&&&&&&&&&&&out=s;&20&&&&&&&&&&&&&else&21&&&&&&&&&&&&&&&&&out+=s;&22&&}&23&&//get&result&from&out&24&&if&(null&!=&out){&25&&&&&int&lIndex&=&out.lastIndexOf(lStr);&26&&&&&int&rIndex&=&out.lastIndexOf(rStr);&27&&&&&rsStr&=&out.substring(lIndex+lStr.length,&rIndex);&28&&}&29&30&&&&&}&catch&(Exception&e){&31&&&&&&&&&e.printStackTrace();&32&&}&33&……&.&34&&return&rsS&35&&}
代码 4:在应用程序中通过命令行方式运行 WorkAround
命令行运行方式通过启动另外一个 JVM 的方式运行冲突代码,在一个不同的 JVM 中加载冲突的类,从而解决了 jar 包冲突问题。
但是命令行运行方式毕竟不是一个很好的方式,它存在以下的弊端:
命令行运行方式只适用于对冲突 jar
包的使用只是运行一段代码,或者只要求返回简单的字符串结果的情况。对于复杂的交互,命令行方式无法做到。但是如果在别无他法的情况下,可以适当地划分封 装对冲突代码调用的 jar 包的包含范围,尽量将命令行运行的代码接口简单化。命令行运行方式因为启动了另外一个 JVM 来运行,降低了 WebSphere 的性能。
因此,命令行方式只适用于一些极为特殊的情况下解决 jar 包冲突问题。
本文对基于 WebSphere 的大型项目开发中遇到的 jar 包冲突问题,结合 WebSphere 中类加载器的概念,给出了三种解决办法以及相应的操作步骤和实现代码,并分析了各种方式所适用的具体情况。
项目开发过程中的 jar 包冲突,主要存在以下三种情况:
多个应用程序间的 jar 包冲突应用程序内多个 Web 模块间的 jar 包冲突应用程序内同一个 Web 模块内部 jar 包冲突
通过对类加载器的分析我们知道,解决 jar 包冲突问题的根本在于合理配置类加载器。在深入理解 WebSphere
中类加载器的层次结构的基础上,我们给出了"共享库解决 jar 包冲突"以及"打包到 Web 模块中解决 jar 包冲突"的办法,通过合理地配置
WebSphere 中类加载器及其委托模式,可以解决大多数的 jar 包冲突问题。但是由于这个层次结构中类加载器只配置到 Web
模块,因此,对于 Web 模块内部的 jar 包冲突问题,类加载器的配置是无法解决的,为此我们给出了"命令行运行方式解决 jar
包冲突"的办法。
表 2 中列出了在不同的 WAS 版本下,三种解决 jar 包冲突问题的办法所适用的 jar 包冲突情况。
IBM WebSphere Application Server V5 ClassloaderNamingSpace Guide。IBM WebSphere Application Server V5.1 System Management and Configuration。 郝爱丽是一位 IBM CSDL 的软件工程师,从事多年 J2EE 开发工作,有丰富的 J2EE 开发经验。目前从事企业电子商务应用的开发和支持。常红平是一位 IBM CSDL 的软件工程师,IBM certified DB2 DBA 和 IBM certified DB2 developer。他目前正在从事企业电子商务应用的开发。您可以通过
和他联系。
阅读排行榜
评论排行榜第三方登录:

我要回帖

更多关于 jboss7部署war包 的文章

 

随机推荐