将应用程序从开发工作区传输到Worklight Server Consumer Edition时出错

时间:2013-04-26 07:18:31

标签: ibm-mobilefirst

我正在使用IBM Worklight环境。我使用Worklight Developer studio创建了一个小应用程序“SampleHybridProject”并成功测试了它。

现在,当我尝试在Worklight Server Consumer Edition上部署它并点击以下网址时:http://mymachine.com:9080/SampleHybridProject/console

我在浏览器中收到此错误:

  

错误404:com.ibm.ws.webcontainer.servlet.exception.NoTargetForURIException:没有为uri配置目标servlet:/ SampleHybridProject / console

我正在使用Worklight Edition 5.0.6。 Worklight Server是默认的“WAS with Liberty profile”。

以下是我在worklight.properties文件中更改的属性。

publicWorkLightHostname=localhost
publicWorkLightProtocol=http
publicWorkLightPort=9080
publicWorkLightContext=/SampleHybridProject

wl.db.type=MYSQL
wl.db.url=jdbc:mysql://mysqlinstalledonmypc:3306/WRKLGHT
wl.db.username=root
wl.db.password=admin

以下是我在application-descriptor.xml中所做的更改:

<worklightServerRootURL>http://${local.IPAddress}:9080/SampleHybridProject</worklightServerRootURL>

你能告诉我我做错了什么或我需要做什么吗?

2 个答案:

答案 0 :(得分:1)

我找到了问题并解决了它。问题是我在console.log文件中遇到此错误:

  

在URL [jar:file:/ C:/ ProgramData / IBM / Worklight / WAS85liberty-server / wlp / usr / shared / resou rces / lib / worklight-jee-library中定义名称为“txManager”的bean创建时出错.jar!/conf/core.xml]:调用init方法失败;嵌套异常是java.lang.LinkageError:加载器约束违规:加载器(com / ibm / ws / classloading / internal / UnifiedClassLoader的实例)以前为名称为“javax / sql / DataSource”的其他类型启动加载

这是因为我的项目的server / lib文件夹中有一个jar导致了这个问题。我从server / lib文件夹中删除了jar并重新部署了.war文件。现在控制台正在加载。

答案 1 :(得分:0)

您是否在自由日志中遇到任何部署错误?上下文根目录中的404通常表示未找到WAR,或者上下文根默认为“SampleHybridProject”以外的其他内容。如果WAR似乎正确加载,它将输出正在侦听的位置,类似于:

  

[AUDIT] CWWKT0016I:Web应用程序可用(default_host):http:// [hostname]:port / SampleHybridProject / *

如果它说上下文根不是SampleHybridProject,你可以在liberty的server.xml中的标签中设置它:

<application id="SampleHybridProject" name="SampleHybridProject" 
    location="SampleHybridProject.war" type="war"
    context-root="SampleHybridProject"> 
    ... 
</application>
相关问题