Deployment Play framework weblogic 10.3.3.0部署
我构建了一个Play应用程序,并尝试使用以下命令在weblogic上部署:Deployment Play framework weblogic 10.3.3.0部署,deployment,weblogic-10.x,playframework,Deployment,Weblogic 10.x,Playframework,我构建了一个Play应用程序,并尝试使用以下命令在weblogic上部署: play war -o myApp myApp 后来我将分解的war目录部署到weblogic,一切正常,但每次我尝试访问路由时。我得到以下错误: Not found GET /myApp/params 这是一个rest服务,不是一个具有UI的应用程序。我尝试在tomcat上部署,一切正常,但我必须将应用程序上下文根设置为/。我用weblogic做了同样的尝试,但没有成功 这是我的路线文件: GET /
play war -o myApp myApp
后来我将分解的war目录部署到weblogic,一切正常,但每次我尝试访问路由时。我得到以下错误:
Not found
GET /myApp/params
这是一个rest服务,不是一个具有UI的应用程序。我尝试在tomcat上部署,一切正常,但我必须将应用程序上下文根设置为/。我用weblogic做了同样的尝试,但没有成功
这是我的路线文件:
GET / Application.index
GET /sectorinformer/{telephone} Application.show
GET /sectorinformer/public/ staticDir:public
* /{controller}/{action} {controller}.{action}
这是我的控制器代码:
package controllers;
import models.InstalAddress;
import models.SectorInfo;
import play.Logger;
import play.mvc.Controller;
public class Application extends Controller {
public static void index() {
render();
}
public static void show(String telephone) {
Logger.debug("Starting request");
Logger.debug("domain: '%s'", request.domain);
String instalAddressId = InstalAddress.getInstalAddressId(telephone);
SectorInfo si = new SectorInfo();
si.initializeSectorInfo(instalAddressId);
renderXml(si.generateXmlResponse());
}
}
提前感谢您的帮助。不幸的是,我既没有weblogic知识,也没有时间调查您感兴趣的问题。我只能给你一些提示我会怎么做: 尝试使用调试器连接应用程序,或者如果调试器不起作用,请签出代码并使用大量日志语句构建自己的版本。 据我所知,每个请求都将由ActionInvoker处理。援引看看这个论点是怎么来的。另一点是路由器,它仍然有很多跟踪日志。所以,也许你可以先开始,让整个东西在跟踪级别上运行。也许这会给你一些提示,告诉你在哪里可以看到更多的细节 要做到这一点,请从一个干净的应用程序开始,不要使用任何配置技巧,特别是不要在根上下文中运行它。只需创建
播放war-myapp-o myapp.war--zip并部署它(别忘了--zip)。然后分析日志
好看
Niels我将Play应用程序(Play 1.1.1)部署到WebSphere6.1,遇到了一些问题。不确定您是否有相同的问题,但这里有(希望它能帮助您):
1-JDK版本:我的“play war xxxx--zip”使用JDK 1.6,WebSphere6.1使用JDK 1.5。当我尝试启动我的webapp时,抛出了一个不受支持的ClassVersionException。我使用正确的JDK et voilá重新生成了war文件
2-将war应用程序部署到Websphere时,可以指定上下文的名称。我不知道如何使用Weblogic,但您是否设置了正确的值
正如尼尔斯所说,分析日志文件:你应该找到发生了什么 不幸的是,玩吧!不支持Weblogic。
请参阅:Weblogic 10是一个完全兼容的J2EE 5应用程序服务器,因此它与JPA 1.0捆绑在一起
在weblogic上运行Play有两个小问题
应用Oracle修补程序使weblogic支持JPA2.0
添加部署描述符属性以对web inf中的类解析进行优先级排序
这两者都是微不足道的,播放文档可能会将weblogic 10标记为工作部署目标
要修复#1,请打开以下窗口
对于懒惰的读者,将此声明添加到wlserver/common/bin/commonv.sh的顶部
export PRE_CLASSPATH=$MW_HOME/modules/javax.persistence_1.0.0.0_2-0-0.jar:$MW_HOME/modules/com.oracle.jpa2support_1.0.0.0_2-0.jar
对于windows,文件为wlserver/common/bin/commonv.bat
set PRE_CLASSPATH=%MW_HOME%/modules/javax.persistence_1.0.0.0_2-0-0.jar;%MW_HOME%/modules/com.oracle.jpa2support_1.0.0.0_2-0.jar
要修复#2,请在以下位置创建文件weblogic.xmlmyplayapp/war/WEB-INF/weblogic.xml
<?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>
真的
构建web存档时,播放war会自动拾取war文件夹
就这样
我个人认为Play应该自己创建weblogic.xml,但从1.2.1开始就不是这样的,请使用playframework作为标记!我在页面上找不到这个信息。在这里,您只知道它是用weblogic以外的其他应用服务器测试的。您将在页面上看到,测试的服务器有:JBoss 4.2.x、JBoss 5.x、JBoss 6M2、Glasshfish v3、IBM Websphere 6.1、IBM Websphere 7、Geronimo 2.x、Tomcat 6.x、Jetty 7.x、Resin 4.0.5。。。你不会看到Weblogic。是的,但这只意味着它没有经过测试。这并不是说这不管用。在抱怨之前,你需要先尝试一下。请参阅我即将发布的有关此问题的帖子。