2017-04-07 4 views
0

私はSpring Bootで新しく、私は自分のプロジェクトでServlet 2.5で設定しようとしています。私は目標にEclipseのMavenのプラグインでそれを実行すると、「春ブート:実行」実行は、次のエラーを返します:私のプロジェクトは、親と3つのモジュールがあり私のプロジェクトでSpring Boot legacyを動作させない

`[Tomcat-startStop-1] ERROR o.apache.catalina.core.ContainerBase - A child container failed during start 
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]] 
at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_60] 
at java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_60] 
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:939) ~[tomcat-embed-core-8.5.11.jar:8.5.11] 
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) [tomcat-embed-core-8.5.11.jar:8.5.11] 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-8.5.11.jar:8.5.11] 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) [tomcat-embed-core-8.5.11.jar:8.5.11] 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) [tomcat-embed-core-8.5.11.jar:8.5.11] 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_60] 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_60] 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_60] 
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60] 

は、その1は、Webプロジェクトであるチャイルズ。

  • 親ポンポンで

    私の構成は以下のとおりです。

    <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> ... <properties> <springBoot.version>1.5.2.RELEASE</springBoot.version> </properties> ...

    </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${springBoot.version}</version> </dependency>
    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId>
    <version>${springBoot.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-legacy</artifactId> <version>1.1.0.RELEASE</version> </dependency> </dependencies> </dependencyManagement>

ウェブ子ポンポン-In

` <dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-jasper</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-legacy</artifactId> 
    </dependency> 
</dependencies> 
` 
... 
` 
<plugins> 
    <plugin> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-maven-plugin</artifactId> 
    </plugin> 
</plugins> 
` 
  • web.xmlに: <listener>
    <listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class> </listener>
+0

'spring-boot:run'で実行している場合、web.xmlは無視されます。 –

+0

そして、その解決策は何ですか? @ M.Deinum –

+0

アプリケーションを、従来のもののためのアプリケーションサーバーにデプロイする必要があります。 –

答えて

0

spring-boot-legacy, 1.1.0.RELEASEだけ春ブーツ、1.4.2.RELEASEでの動作が保証されています。

通常のスプリングブートで動作するものはすべて動作しません。プログラムで定義されたサーブレットフィルタとサーブレット(FilterRegistrationBeanやServletRegistrationBeanなどを使用)は動作しません。これはServlet 2.5の制限によるものだと思います。明らかにサーブレット3.0アノテーションは動作しません(例:@WebServlet)

Tomcat 6はServlet 2.5をサポートしています。

mvn tomcat6:run

<plugin> 
    <artifactId>tomcat6-maven-plugin</artifactId> 
    <groupId>org.apache.tomcat.maven</groupId> 
    <version>2.0</version> 
</plugin> 

また、あなたが(あなたの「アプリケーション」クラスを見つける場所のようSpringBootContextLoaderListenerにいくつかの手がかりを与えることが重要である:だから春ブートレガシーアプリは次のようなものを使用して正常に動作する必要があります@SpringBootApplicationを含むクラス)、例えば:

あなたのweb.xmlのようなものが含まれます:

制限を理解すると、何がうまくいくのですか?

関連する問題