2017-12-08 2 views
0

EclipseでJava(Java 8)Webアプリケーションを開発しています。私はこのwebappを作成し、プロジェクトの初めからMaven v 3.5を使用しています。私は通常、Tomcat 8.5サーバー( 'Run as =>サーバー上で実行')に自分のWebアプリケーションを展開します。Eclipseを使ったTomcatでの奇妙なデプロイ

私はいつも自分の依存関係をpom.xmlで管理していて、Eclipseからhteビルドパス設定メニューを使って奇妙なことをしないようにしています。

問題は、昨日開始しました:ときに私私の日食は時々同じよう

<dependency> 
     <groupId>tlnPdf</groupId> 
     <artifactId>tlnPdf</artifactId> 
     <version>1.0</version> 
    </dependency> 

:私は私の前に、単にインストールmadeand、そして私のpom.xmlにこの行を追加している他のJava/Mavenプロジェクトから依存関係を追加します他のプロジェクトから新しい依存関係を追加すると、webappを配備する際に問題が発生しました。他のプロジェクトのpom.propertiesに関するメッセージ(残念ですが覚えていません)。このケースでは、私がいつもしたように、私はwebappプロジェクトを閉じて、コマンドプロンプトからmvn eclipse:cleanを起動してから、プロジェクトを再度開く必要があります。問題は消えます。

Eclipseは、新しい依存関係からクラスをインポートするクラスには問題を表示しません。

また、私は私のWebアプリケーションの起動時にクラス上のリスナーを持っているが、私のweb.xmlに宣言:

<listener> 
    <listener-class>com.package.InitTomcat</listener-class> 
</listener> 

このリスナーはfuncionalであると私は最後にそれを変更していません。

しかし、昨日、新しい問題が発生しました。サーバーにWebアプリケーションをデプロイしたいときは、次のような警告が表示されました。 org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [...] to the cache because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache次に、InitTomcatクラスが存在しないことを示すエラーが発生します。 java.lang.ClassNotFoundException: com.package.InitTomcat

したがって、最初にキャッシュの警告が問題を引き起こしていると考えました。私はこれをthis stackoverflow postが説明し、警告が消えてしまった。エラーではありません。

eclipse以外では、コマンドプロンプトでプロジェクトをコンパイルし、mvn clean installを使用してapp.warファイルを取得しようとしています。コンパイルに誤りはなく、戦争は正しい。私は手動でTomcatに戦争を展開し、問題は現れなかった。

このように、私は2つの展開ディレクトリ(日食から1、私のapp.warによって手動その他)に見て、私が展開され、リポジトリのツリー上の好奇心に何かを見た:良い展開Webアプリケーションで

を(から

|*some directories and files 
|*META-INF 
|*WEB-INF 
    |*classes 
     |com (etc...) 
    |*lib 
    |web.xml 

とEclipseから展開Webアプリケーションで:

*some directories and files 
*META-INF 
*WEB-INF 
    |*classes 
     |*.settings (why the hell does this directory are here ?) 
     |*bin 
      |*.settings 
      |*src 
      |*target 
       |*classes 
        |*com ect... (my .class files are here !!) 
       |*generated-sources 
       |*m2e-wtp 
       |*maven-archiver 
       |*maven-status 
       |*myapp (this directory have the same content as the "good web app deployed") 
       |*test-classes 
       |*WebContent 
      |*temp 
      |*webContent 
      |pom.xml 
      |.project 
     |*src 
     |*target 
     |*temp 
     |*WebContent 
       |*... 
    |*lib 
    |web.xml 

275Mbのサイズとして "良い" Webアプリケーション、OTH app.war)、私はそのような何かを持っています私のweb-appをデプロイして、間違った場所にあるように見えるため、InitTomcatクラスが見つからないことが問題であると思われます。しかし、私は今なぜこれをすることにしたのか分かりません。

私は、Eclipse、Cleaning Eclipseなどからプロジェクトを削除しようとしますが、結果はありません。私はTomcatの3つの異なるバージョンを試しました:8.5.14、8.2.23、および9.0.2、常に同じ動作で

私が落ち込んでいたので、私はEclipseの最終バージョンをダウンロードし、私のwebappプロジェクトをインポートします。それは、それは同じ結果を持っています。

最後に、私の質問は簡単です:誰にも起こっていることのアイデアがあり、それを解決する方法はありますか?前もって感謝します !

答えて

0

最後に私の問題がどこにあるのかを見ました。私のプロジェクトのプロパティ> "デプロイメントアセンブリ"を見て、デプロイパッチは奇妙でした。私は彼が変わった時に知らない、でもなぜ、私がやった「きれい」にそれらを再開するには、次

  1. は、プロジェクトを削除します(ただしソース)日食
  2. 手動.settingsディレクトリを削除では、 .classpathと.projectファイル
  3. EclipseでMavenプロジェクトとしてインポート

これらは、トリックを行います。問題は以前は、私はEclipseからプロパティファイルを削除していなかったので、プロジェクトをインポートするときにバッグの設定がリロードされていました。

関連する問題