2017-01-03 11 views
1

ポリマーに必要なパッケージをすべてインストールしました。tomcatにpolymer-starter-kitをインストールするには

ポリマースターターキットをダウンロードしてビルドしました。私はpolymer serveを起動した場合

、私は次のようなページを取得することができます:

enter image description here

をしかし、私は私のポリマーappディレクトリの下にフォルダ/build/bundledをコピーする場合は、場所/path/to/tomcat/webappsに、私が手にページをgrepのバックグラウンドだけです。

enter image description here

私は適切にTomcatの上にポリマーアプリを展開する方法を知っていただきたいと思います。

私がちょうどbuildの場合、/build/bundled/path/to/tomcat/webappsにコピーした後、ポリマースターターキットの代わりに1つの要素のみを持つ非常に単純なポリマーであれば、ページを正しく表示できます。

enter image description here

答えて

1

ありがとうございましたynov's answerそれは助け、働く。しかしそれほどエレガントではありません。


別の回避策はDeploying my application at the root in Tomcatに関するhereを述べている:Apache Tomcat 7 Configuration Reference - The Context Containerに述べたように、しかし

<Context path="" docBase="polymer" debug="0" reloadable="true"></Context> 

:あなたのアプリを使用するconf/server.xmlでコンテキストルートを設定

そうではありませんserver.xmlファイルに要素を直接配置することをお勧めします。これは、Tomcatを再起動しなければメインのconf/server.xmlファイルを再ロードできないため、Context設定をより侵襲的に変更できるためです。


TomcatでWebアプリケーションがポリマースターターキットのソースコードに残っているように、ポリマースターターキットの実際の問題が適切に展開することができません。 リソース(HTML、画像、コンポーネントなど)が正しく参照されていないため、Webサイトが正しく表示されません。 polymer-starter-kit/index.htmlのoriginallコードで

、リソースは次のようにリンクされます

... 

<!-- Homescreen icons --> 
<link rel="apple-touch-icon" href="/images/manifest/icon-48x48.png"> 
<link rel="apple-touch-icon" sizes="72x72" href="/images/manifest/icon-72x72.png"> 
<link rel="apple-touch-icon" sizes="96x96" href="/images/manifest/icon-96x96.png"> 
<link rel="apple-touch-icon" sizes="144x144" href="/images/manifest/icon-144x144.png"> 
<link rel="apple-touch-icon" sizes="192x192" href="/images/manifest/icon-192x192.png"> 

... 

しかし、あなたは$TOMCAT/webapps/polymerのようなサブディレクトリ$TOMCAT/webapps/でWebアプリケーションをデプロイする場合、href="/images/manifest/icon-48x48.png"などのリンク参照はしませんこれはルートディレクトリを参照するためです。このため、以前の回避策(すなわち、webappを$TOMCAT/webapps/ROOTに配置する)が機能するのはこのためです。だから、トリックは、href="images/manifest/icon-48x48.png"(または使用したいリソースの正しいパスに適した他の適切なパス)にリンクを変更することです。 polymer-starter-kit/index.htmlで例えば

、:

... 

<!-- Homescreen icons --> 
<link rel="apple-touch-icon" href="images/manifest/icon-48x48.png"> 
<link rel="apple-touch-icon" sizes="72x72" href="images/manifest/icon-72x72.png"> 
<link rel="apple-touch-icon" sizes="96x96" href="images/manifest/icon-96x96.png"> 
<link rel="apple-touch-icon" sizes="144x144" href="images/manifest/icon-144x144.png"> 
<link rel="apple-touch-icon" sizes="192x192" href="images/manifest/icon-192x192.png"> 

... 

images/index.htmlは同じディレクトリの下にあるため。

1

これらのJavaサーブレットベースのWebサーバ上で正しく動作するように設定ポリマー

ポリマーの問題については、時には種類の注意が必要です。まず最初に、開発ツールを開いてどのような種類のエラーが発生しているのかを確認します。失敗したインポートの中には解決しすぎてはいけないものがあります。

これはサーブレットコンテナを使用して非サーブレットベースのアプリケーションを管理するという欠点です。それができないことを躊躇しないでください、私たちはTomcatサーバー上でいくつかのアプリケーションを本番環境に持っています。

このプロジェクトのウィンドウからpolymer serveを投げ捨てて、開発を行うローカルのTomcatサーバーをセットアップする必要があります。これらは完全に異なる動作をするためです。

物事のプロジェクトのためのあなたの全体的な目標は、あなたがTomcatの環境を調整するために持っているどのくらいの可用性であるか、何

わからない心に留めておくべき(私は生産目標だろうと仮定します。)をハッシュベースのルーティングを最初からまっすぐに使用することを望みます。これらのサーブレット・コンテナは、URLを処理するためのJavaクラスを探しています。

+0

devツールを開くには?何の開発ツール? Tomcat? – fluency03

2

ポリマーstarter-kitアプリをROOTコンテキストのTomcatに展開して、すべての依存関係を正常に解決できるようにしました。

polymer buildを実行しての下に\build\bundledフォルダの内容をコピーしてからTomcatを起動すると動作します。

+0

これはなぜ機能していますか?ポリがnon-ROOTアプリケーションの下に配備できるように回避策はありますか? – fluency03

+0

このアプリは、ルートコンテキストに関連する依存関係を解決しようとします。そのため、ROOT以外のアプリケーションを使用する場合は、アプリケーションを適切に変更する必要があります。 – ynov

+0

依存関係はどういう意味ですか?私はポリマーのアプリケーションは、それが必要なすべての依存関係(すべてのbowerコンポーネント)を持っていると思いますか? – fluency03

関連する問題