2017-04-09 15 views
1

私は、SpringブートとSpring JPAデータを使用してWebアプリケーションを構築しています。 アプリケーションが正常に動作しますが、私はTomcatの8 Webサーバの内部でそれを展開するWARファイルを作成しようとすると、私はこれらのエラーを取得します。ここデプロイ可能なWARファイルを作成するスプリングブート

は私の春のブート開始クラスは

@SpringBootApplication 
public class SpringBootWebApplication extends SpringBootServletInitializer { 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder 
    application) { 
     return application.sources(SpringBootWebApplication.class); 
    } 

    public static void main(String[] args) { 
     SpringApplication.run(SpringBootWebApplication.class, args); 
    } 
} 

であり、ここで私のPOMでありますファイル:

<?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>guru.springframework</groupId> 
<artifactId>spring-boot-web</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>war</packaging> 



<name>Spring Boot Web Application</name> 
<description>Spring Boot Web Application</description> 

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

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java.version>1.8</java.version> 
    <!--<start-class>guru.springframework.SpringBootWebApplication </start-class>--> 

</properties> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-security</artifactId> 
    </dependency> 
    <!--<dependency>--> 
     <!--<groupId>org.springframework.boot</groupId>--> 
     <!--<artifactId>spring-boot-starter-thymeleaf</artifactId>--> 
    <!--</dependency>--> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 

    </dependency> 

    <!--WebJars--> 
    <dependency> 
     <groupId>org.webjars</groupId> 
     <artifactId>bootstrap</artifactId> 
     <version>3.3.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.webjars</groupId> 
     <artifactId>jquery</artifactId> 
     <version>2.1.4</version> 
    </dependency> 


    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
    </dependency> 

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


    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>eclipselink</artifactId> 
     <version>LATEST</version> 
    </dependency> 

    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId> 
     <version>LATEST</version> 
     <scope>provided</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-ldap</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-openid</artifactId> 
    </dependency> 


    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-jasper</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
    </dependency> 


    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
     <scope>provided</scope> 
    </dependency> 

    <!-- hot swapping, disable cache for template, enable live reload --> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-devtools</artifactId> 
     <optional>true</optional> 
    </dependency> 



</dependencies> 

<build> 
    <finalName>Mobl</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 

      <version>1.5.1.RELEASE</version> 


     </plugin> 
    </plugins> 
</build> 

やIntelliJのアイデアは私にこれらのエラーを与える:

Error:java: com.sun.tools.javac.code.Symbol$CompletionFailure: class file 
for groovy.lang.Closure not found 
Error:java: java.lang.RuntimeException: 
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for 
groovy.lang.Closure not found 

答えて

0

Spring BootにはすでにTomcatコンテナが含まれているため、生成されたJARファイルは実行可能です。

ありがたいことに、Springの作者は、まだいくつかのpplがSpringブートアプリケーションを個々のコンテナに展開したいと考えていました。さらに詳しい情報はthis linkに従ってください。

JARの代わりにWARを生成するようにMaven/Gradleプラグインを設定する必要があります。

編集:私はあなたがすでに構成を持っていることを知りました。アプリケーションがIntelliJの外部で正常に動作している場合、IntelliJはアプリケーションをSpringブートアプリケーションとして認識し、WARファイルをデプロイする代わりにJARを実行しようとしている可能性があります。カスタム構成を作成する必要があります。

関連する問題