2017-11-04 5 views
0

JavaでVaadinアプリケーションを構築しています。ここにフォルダ構造があります。アプリケーションにリモートサーバー上でVaadinアプリケーションを実行できません

- com 
-- my 
--- WebTool 
---- ToolUI.java 
---- View_1.java 
---- View_2.java 

エントリポイントは、ToolUI.javaであり、パラメータとしてVaadinRequestをとる方法のinit()を有しています。このファイルは、アプリケーションのビューとしてビューViews_1View_2を追加し、それらの間にナビゲーションを追加するファイルです。 Eclipse IDE経由でアプリケーションを実行すると、すべてがうまく動作します。

このアプリケーションをリモートサーバーに展開する必要があります。だから私はプロジェクトの戦争を作成し、 MyWebTool.warという名前でサーバーにデプロイしました。私はコマンドで

java -jar MyWebTool.war 

を戦争を実行しようとすると、

は、今では私にエラーを与える:は戦争に何の主なマニフェスト属性を実行することはできません、MyWebTool.war

には、私はないですinitメソッドが呼び出されてアプリケーションが実行されているので、mainクラスを何に追加するかを確認してください。だから私はMyWebToolUI.javaの中に空のmain関数を置き、この依存関係をpom.xmlファイルに追加しました。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
       <mainClass>com.my.WebTool.ToolUI</mainClass> 
      </manifest> 
     </archive> 
     <failOnMissingWebXml>false</failOnMissingWebXml> 
     <!-- Exclude an unnecessary file generated by the GWT compiler. --> 
     <packagingExcludes>WEB-INF/classes/VAADIN/widgetsets/WEB-INF/**</packagingExcludes> 
    </configuration> 
</plugin> 

しかし、今では

は、メインクラスcom.my.WebTool.ToolUIを見つけるか、ロードできませんでしたと言うアプリケーションを実行しようとしたときには、誰かがこれに光を当てるていただけますか?私はここに何か簡単なものを見逃しているかどうかは分かりませんが、この時点で私は立ち往生しています。どうもありがとう。

答えて

1

warパッケージアプリケーションを実行する場合は、servlet containerが必要です。 サーブレットコンテナは、JavaベースのWebアプリケーションを実行するために必要なすべての基本インフラストラクチャを提供します。

tomcatにwarファイルをdeployにするのが最も一般的な方法の1つです。

+0

ありがとうございます。これはうまくいった! – Kunwar

関連する問題