WebSphere Liberty Profile: Context Root Not Found

匿名 (未验证) 提交于 2019-12-03 01:23:02

问题:

I can't seem to get this working locally, even though the same WAR works on a remote server. When I go to visit my application locally, I get the "Context Root Not Found" error. The Liberty profile version is 8.5.5.5.

Here are the relevant files:

server.xml

<?xml version="1.0" encoding="UTF-8"?> <server description="tlc server">   <!-- Enable features -->   <featureManager>     <feature>jsp-2.2</feature>     <feature>ssl-1.0</feature>     <feature>localConnector-1.0</feature>     <feature>restConnector-1.0</feature>     <feature>json-1.0</feature>     <feature>jaxrs-1.1</feature>     <feature>servlet-3.0</feature>     <feature>jpa-2.0</feature>     <feature>beanValidation-1.0</feature>     <feature>jndi-1.0</feature>     <feature>jdbc-4.0</feature>     <feature>monitor-1.0</feature>   </featureManager>   <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443" virtualHost="default_host" />   <jdbcDriver id="DerbyJDBCDriver">     <library name="DerbyLib">       <fileset dir="C:\tools\servers\wlp\lib" includes="derbyclient-10.6.1.0.jar" />     </library>   </jdbcDriver>   <dataSource jndiName="jdbc/TLCDataSource" id="derbyDataSource" jdbcDriverRef="DerbyJDBCDriver">     <properties.derby.client databaseName="TLC" password="APP" user="APP" />   </dataSource>   <applicationMonitor updateTrigger="mbean" />   <application id="TLC_war" context-root="/TLC" location="C:\Users\nd26434\gitrepos\tlc\target\TLC-1.0.0-SNAPSHOT.war" name="TLC_war" type="war">     <classloader delegation="parentLast">       <privateLibrary>         <fileset dir="C:\tools\servers\wlp\lib" includes="aspectjweaver-1.8.0.jar" />       </privateLibrary>     </classloader>   </application> </server> 

message.log

[3/18/15 20:19:54:789 EDT] 0000001b com.ibm.ws.app.manager.AppMessageHelper                      A CWWKZ0022W: Application TLC_war has not started in 30.018 seconds. [3/18/15 20:20:03:174 EDT] 0000001f com.ibm.ws.webcontainer.osgi.webapp.WebGroup                 I SRVE0169I: Loading Web Module: TLC-1.0.0-SNAPSHOT. [3/18/15 20:20:03:175 EDT] 0000001f com.ibm.ws.webcontainer                                      I SRVE0250I: Web Module TLC-1.0.0-SNAPSHOT has been bound to tlc_host. 

ibm-web-bnd.xml

<?xml version="1.0" encoding="UTF-8"?> <web-bnd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns="http://websphere.ibm.com/xml/ns/javaee"     xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-bnd_1_0.xsd"     version="1.0">     <virtual-host name="tlc_host"/>     <resource-ref name="jdbc/TLCDataSource"         binding-name="jdbc/TLCDataSource" /> </web-bnd> 

ibm-web-ext.xml

<?xml version="1.0" encoding="UTF-8"?> <web-ext     xmlns="http://websphere.ibm.com/xml/ns/javaee"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"     version="1.0">     <reload-interval value="3"/>     <context-root uri="TLC" />     <enable-directory-browsing value="false"/>     <enable-file-serving value="true"/>     <enable-reloading value="true"/>     <enable-serving-servlets-by-class-name value="false" /> </web-ext> 

回答1:

Remove <virtual-host name="tlc_host"/> from your ibm-web-ext.xml file. As you dont have tlc_host, but default_host.



回答2:

Context Root Not found is caused due to issue in one of the config files. In my case, web.xml had an unclosed comment due to which the war was not built correctly.

This resulted in EAR file not updating.

Solution:

  1. Compare you web.xml with previous versions to see what changed.
  2. Add war to the server instead of the ear file to see the error. (If Running on Liberty Server)


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!