weblogic-部署web应用

摘要:
发现weblogic运行速度加快,并且只有当本机内存被其他应用占用很多的时候才会再次出现这种错误。注:PermGenspace,permanentheapgenerationspace,即永久代或方法区如果多次出现的话,可能要重新启动一下weblogic.可参考:http://www.blogjava.net/lqsun/archive/2005/06/10/5887.html2)CannotsetwebapprootsystempropertywhenWARfileisnotexpanded本质问题是:servletContext.getRealPath函数为空解决办法:在WEB-INF下面加weblogic.xml˂?

1, weblogic 安装介质的获取:

oracle 官方weblogic下载 :
http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127.html

oracle官网下载是需要登录的(yangweicsd1006@126.com: 电话+Cxn)

(QQ邮箱: 电话+Yw)

WebLogic10.3.6_win32 安装包百度网盘 链接:http://pan.baidu.com/s/1ntMcVHZ密码:qd2a

2, domain是weblogic最基础的管理单元,安装过程会创建域以及管理服务器的.

比如我自己的:

----------------------------------------------------------------
域名和路径:
base_domain
C:OracleMiddlewareuser_projectsdomains
----------------------------------------------------------------
管理员用户名和口令
weblogic  weblogic_123

----------------------------------------------------------------
管理服务器
OpsServer  All Local Addresses  7001   7002

3, 启动 weblogic,

可以在开始菜单中找到" Start Admin Server for Weblogic Server Domain" 来开启Weblogic服务,

也可以找到命令"startWebLogic.cmd"来启动

C:OracleMiddlewareuser_projectsdomainsase_domainstartWebLogic.cmd

4, 访问地址:

http://localhost:7001/console/ ,输入管理员账号密码登录.

5, 我安装过程中,创建的服务器名是OpsServer ,这个服务器在启动,部署应用等等过程都是有详细的日志记录的,帮助大家查找问题.

C:OracleMiddlewareuser_projectsdomainsbase_domainserversOpsServerlogsOpsServer.log

6, 部署自己的应用。 以 ops-web 为例.

注意 对weblogic的任何修改都要重新启动 weblogic

部署过程中的常见问题:

1)java.lang.OutOfMemoryError: PermGen space.(内存溢出)

把weblogic服务器下的java VM arguments:-Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=128m -Xverify:none -da  
修改成:-Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermSize=256m -Xverify:none -da  

设置方式:

编辑启动文件:base_domainstartWebLogic.cmd

set DOMAIN_HOME=C:OracleMiddlewareuser_projectsdomainsase_domain
set JAVA_VM=%JAVA_VM% -XX:MaxPermSize=256m
call "%DOMAIN_HOME%instartWebLogic.cmd" %*

在weblogic域的bin目录中(我的是D:DevelopWeblogicwls12120user_projectsdomainsmydomainin)的setDomainEnv.cmd(linux对应修改setDomainEnv.sh),查找-XX:MaxPermSize:

set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m
set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m

这个参数是设置永久代区域的最大值,默认是256M,直接改成512M(可以根据自己电脑配置适当增大),保存,然后重新启动weblogic。发现weblogic运行速度加快,并且只有当本机内存被其他应用占用很多的时候才会再次出现这种错误。

问题解决。

注:PermGen space,permanent heap generation space,即永久代或方法区

如果多次出现的话,可能要重新启动一下weblogic.

可参考:http://www.blogjava.net/lqsun/archive/2005/06/10/5887.html

2)Cannot set web app root system property when WAR file is not expanded

本质问题是servletContext.getRealPath函数为空

解决办法:WEB-INF下面加weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>

<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"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 http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
    <wls:context-root>/ops-web</wls:context-root>
    <wls:charset-params>
        <wls:input-charset>
            <wls:resource-path>/*</wls:resource-path>
            <wls:java-charset-name>UTF-8</wls:java-charset-name>
        </wls:input-charset>
    </wls:charset-params>
 
    <wls:container-descriptor>
            <!--yangw change false to true -->
        <wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes>
        <wls:show-archived-real-path-enabled>true</wls:show-archived-real-path-enabled>  
    </wls:container-descriptor>

</wls:weblogic-web-app>

可参考:http://blog.csdn.net/ouvidia/article/details/38453353

3)WebLogic下开发Hibernate问题java.lang.NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval()Z

问题在于Hibernate的包冲突或者没有被加载到,解决办法是 将我们应用的hibernate-jpa-2.0-api-1.0.1.Final.jar

拷贝到C:OracleMiddlewarejdk160_29jrelibext目录下

7,访问自己的应用出现的问题:

debug模式启动之后,运行的时候出现错误:Type mismatch: cannot convert from Tag to JspTag

把WEB-INF 下面的lib 下面的 servletapi-2.3.jar 删除掉就好了与weblogic.jar冲突。 

weblogic-部署web应用第1张

weblogic-部署web应用第2张

在Linux上,启动Weblogic时总是提示输入用户名和密码, 这里采用 保存用户密码信息到 boot.properties文件中

在AdminServer中和ManagerServer中保存,比如我的应用

/home/weblogic/weblogic_domain/servers/AdminServer/security/boot.properties

/home/weblogic/weblogic_domain/servers/S1/security/boot.properties

password=登录weblogic的域用户密码
username=登录weblogic的域用户名

保存之后启动,weblogic会自动对用户名和密码加密.

weblogic-部署web应用第3张

在Linux上,启动weblogic应用报java.lang.NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval()Z时的解决办法?

在weblogic.xml中配置优先加载即可

部署应用时,有时会报[DeploymentService:290066]Error occurred while downloading files from admin server for deployment request "1,365,321,820,868". Underlying error is: "null" 错误, 究其原因 往往是项目中有中文文件名,而且显示的是乱码,尤其是同一个目录下有可能有两个一模一样的乱码文件.

免责声明:文章转载自《weblogic-部署web应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Zend Studio使用java:多层文件夹情况下,判断文件夹下是否有文件夹,并获取到没有文件夹的名字的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JVM参数说明

=========================================================== -XX开头,这些是JVM 的所有实现都支持的最常用的选项。=========================================================== bool类型的开关选项(+开启、-关闭) -XX:+UseG...

国内外有名的安全扫描工具,你知道几个?

  1. Nikto   以下是引用片段: 这是一个开源的Web 服务器扫描程序,它可以对Web 服务器的多种项目(包括3500个潜在的危险   文件/CGI,以及超过900 个服务器版本,还有250 多个服务器上的版本特定问题)进行全面的测   试。其扫描项目和插件经常更新并且可以自动更新(如果需要的话)。   Nikto 可以在尽可能短的周期内测试你的...

docker+Nexus Repository Manager 搭建私有docker仓库

使用容器安装Nexus3 1.下载nexus3的镜像: docker pull sonatype/nexus3 2.使用镜像启动一个容器: docker run -d -p 8081:8081 -p 5000:5000 --name nexus3 -v /nexus-data:/nexus-data/ --restart=always sonatype/n...

【原】移动web页面支持弹性滚动的3个方案

有段时间一直折腾移动端页面弹性滚动的各种问题,做了点研究,今天做个小分享~ 传统 pc 端中,子容器高度超出父容器高度,通常使用 overflow:auto 可出现滚动条拖动显示溢出的内容,而移动web开发中,由于浏览器厂商的系统不同、版本不同,导致有部分机型不支持对弹性滚动,从而在开发中制造了所谓的 BUG。   上图如果在PC端中,我们可以利用 pos...

关于Maven报错的一些解决办法(别处贴的)

1、警告:The tag handler class for "s:form"(org.apache.struts2.views.jsp.ui.FormTag) was not found on theJavaBuild Path这个问题终于可以解决了,在出问题的页面 <s:form>标签前后删除空格后保存文件警告即可消失,即<s:for...

Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: PermGen space

在Eclipse 调试 springside showcase项目中,tomcat报异常 Exception in thread "RMI TCP Connection(idle)" java.lang.OutOfMemoryError: PermGen space 在google半天后,找到解决方法: Tomcat直接运行 Catalina.sh/Cat...