2017-12-15 14 views
0

ここには奇妙なものがあります。私はGroovyとWebのスターターを使用するSpring Bootアプリケーションを持っています。私がmvn spring-boot:runを実行してもうまく始まり、mvn packageを実行してからjava -jar demo-0.0.1-SNAPSHOT.jarを実行すると、正常に動作します。しかし、私は、私はこのエラーを取得するRun As -> Spring Boot Applicationを選択した場合:EclipeのPOMエディタでEclipseでGroovy Springブートプロジェクトを開始できません

12:16:22.200 ERROR [Tomcat-startStop-1 ] [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) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) 
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:939) 
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at java.lang.Thread.run(Thread.java:748) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 
    ... 6 common frames omitted 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [Pipeline[StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5117) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 6 common frames omitted 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.authenticator.NonLoginAuthenticator[]] 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 
    at org.apache.catalina.core.StandardPipeline.startInternal(StandardPipeline.java:182) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 8 common frames omitted 
Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String; 
    at org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1141) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    ... 10 common frames omitted 
12:16:22.201 ERROR [main     ] [ContainerBase] [] A child container failed during start 

私が持ち込まれているjavax.servlet-api.jarファイルを参照しませんので、私はそれを追加しましたが、何の効果。

エクリプス:酸素4.7.1a

STS:3.9.1.201710100539-RELEASE

ジャワ:1.8.0_151

POMが直線start.spring.ioからのものである:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.example</groupId> 
    <artifactId>demo</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>demo</name> 
    <description>Demo project for Spring Boot</description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.9.RELEASE</version> 
     <relativePath/> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.gmavenplus</groupId> 
       <artifactId>gmavenplus-plugin</artifactId> 
       <version>1.5</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>addSources</goal> 
          <goal>addTestSources</goal> 
          <goal>generateStubs</goal> 
          <goal>compile</goal> 
          <goal>testGenerateStubs</goal> 
          <goal>testCompile</goal> 
          <goal>removeStubs</goal> 
          <goal>removeTestStubs</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

これを修正する方法はありますか?

答えて

0

Ah ha!私はEclipseのJava Build Pathから "Groovy Libraries"と "Groovy DSL Support"を削除しなければなりませんでした。彼らはservlet-api-2.4.jarファイルを持ってきていました。

+0

Groovyライブラリでminimal属性を有効にすることもできます。これにはservlet-api.jarは含まれなくなりますが、プロジェクトのクラスパスにはgroovy-all.jarが残ります。 – emilles

関連する問題