我正在使用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>
你能告诉我我做错了什么或我需要做什么吗?
答案 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>