2017-03-10 50 views
0

私はJava EEを使用してEclipseで動的Webプロジェクトを構築するための新しいスターターです。すべてうまくいった最初は、私は自由のための私のWebSphere Application Server(バージョン16.0.0.4)でローカルに私のWebプロジェクトを実行でき、WebSphere Application Server for Context-Root

ローカルホストから自分のウェブページにアクセス:9080/MainApplication

とIBM BlueMix上のリモート・サーバーにプッシュしても、すべてが機能していました。

私はJavaServer Facesの機能を発見しました。そこで私はEclipseプロジェクトで、Mojara 2.2 JSF実装ライブラリを使用してJSFファセットを追加しました。プロジェクトにJSFファセットを追加するとすぐに、ローカルでWebアプリケーションを実行しようとするたびに、「コンテキスト・ルートが見つかりません」というエラー・ページが表示されます。自分のWebページに直接アクセスしようとしても(localhost:9080/MainApplication/index.html)、同じエラーが発生しました。しかし、リモート・サーバーへのプッシュはまだ機能しており、WebプロジェクトではJSFが正常に実行されているため、ローカル・マシン上のWebSphere Application Server構成に問題があると考えています。

EclipseのアプリケーションからJSFファセットを削除して元に戻すと、問題が修正され、ファセットの再追加によって問題が再現されます。この​​によると、JSFファセットを追加すると、選択したJSF実装ライブラリがプロジェクトにインポートされ、「Faces設定ファイル」が追加され、faces.xmlサーブレット設定でweb.xmlが更新されます。だから私は、JSFファセットを追加することによってサーバーがコンテキストルートを見つけられないという理由を理解できません。ここ は私のweb.xmlです:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> 
    <display-name>MainApplication</display-name> 
    <welcome-file-list> 
     <welcome-file>index.xhtml</welcome-file> 
    </welcome-file-list> 
    <context-param> 
     <description> 
     State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description> 
     <param-name>javax.faces.STATE_SAVING_METHOD</param-name> 
     <param-value>client</param-value> 
    </context-param> 
    <context-param> 
     <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> 
     <param-value>resources.application</param-value> 
    </context-param> 
    <listener> 
     <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 
    <servlet> 
     <servlet-name>Faces Servlet</servlet-name> 
     <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Faces Servlet</servlet-name> 
     <url-pattern>*.xhtml</url-pattern> 
    </servlet-mapping> 
</web-app> 

とのserver.xml:

<server description="new server"> 

    <!-- Enable features --> 
    <featureManager> 
     <feature>webProfile-7.0</feature> 
     <feature>localConnector-1.0</feature> 
     <feature>adminCenter-1.0</feature> 
    </featureManager> 

    <basicRegistry id="basic"> 
     <user name="admin" password="adminpwd"/> 
    </basicRegistry> 

    <administrator-role> 
     <user>admin</user> 
    </administrator-role> 

    <remoteFileAccess> 
     <writeDir>${server.config.dir}</writeDir> 
    </remoteFileAccess> 

    <!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" --> 
    <httpEndpoint httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/> 

    <!-- Automatically expand WAR files and EAR files --> 
    <applicationManager autoExpand="true"/> 

    <applicationMonitor updateTrigger="mbean"/> 
    <keyStore id="defaultKeyStore" password="adminpwd"/> 

    <webApplication id="MainApplication" location="MainApplication.war" name="MainApplication" contextRoot="MainApplication" type=""/> 
</server> 

私は後で新しいプロジェクトを開始し、最初からJSFを追加する代わりに試してみましたが、私は同じを持っています問題。私は私のwebプロジェクトのserver.xmlにcontextRoot = "MainApplication"を追加しようとしましたが、それもうまくいきません。私のプロジェクト - >プロパティ - > Webプロジェクト設定 - >コンテキストルート: を右クリックすると、値がMainApplicationに設定されます。 1つのstackoverflowポストにも同様の問題がありました: WebSphere Liberty Profile: Context Root Not Found しかし、私のプロジェクト(ibm-web-ext.xml & ibm-web-bnd.xml)にはないファイルが含まれていました。私はWEB-INFディレクトリにこれらのファイルを作成しようとしましたが、それでも動作しませんでした。

私は解決策を探して過去3日間過ごしましたが、どこにも行きませんでしたし、私の考えをすべて使い果たしました。どんな助けもありがとうございます。

+0

何がdropinsディレクトリに戦争をあなたのserver.xmlからwebアプリケーションを削除して、移動した場合はどうですか? – Pete

答えて

1

webProfile-7.0機能はjsf-2.2機能を導入しているため、この問題は2つのjsf実装によるものです。それが問題ではないことを保証するために、webprofileが独立して提供する各機能をリストすることができますが、jsfを削除すると、以下のようになります: jsp-2.3、ejbLite-3.2、managedBeans-1.0、beanValidation-1.1、servlet-3.1、ssl- json1.0、jpaContainer2.1、cdi-1.2、distributedMap-1.0、websocket-1.1、jpa-1.0、json-1.0、json-1.0、app-security-2.0、jdbc-4.1、jaxrs-2.0、jaxrsClient-2.0、 2.1

プラスあなたの2つのその他の機能:adminCenter-1.0、localConnector-1.0

+0

jsfをプロジェクトプロパティで.warにパッケージ化しないように設定して、問題を修正しました。 –

+0

@ JerryB.no。1internどのように問題を修正しますか?詳細を教えてもらえますか – Crack81

+0

@ Crack81 webProfile-7.0 を削除して解決しました。上記のように明示的に機能を追加してください(これは私の問題の原因です)。あなたの.warとあなたのサーバによって提供されたもの –

関連する問題