0

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

现在,当我尝试在 Worklight Server Consumer Edition 上部署它并点击以下 URL 时: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 是默认的“带有 Liberty 配置文件的 WAS”。

这是我在 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>

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

4

2 回答 2

1

我发现了问题并解决了它。问题是我在 console.log 文件中有这个错误:

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

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

于 2013-04-30T09:18:31.743 回答
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>
于 2013-04-26T14:44:53.130 回答