2017-04-20 2 views
0

Ich erhalte diesen FehlerFrühlings-Boot-Web java.lang.NoSuchFieldError: IS_SECURITY_ENABLED Jetty

2017-04-20 22:58:08.573 ERROR 11463 --- [ main] o.s.boot.SpringApplication : Application startup failed

java.lang.NoSuchFieldError: IS_SECURITY_ENABLED at org.apache.jasper.compiler.JspRuntimeContext.(JspRuntimeContext.java:197) ~[jsp-2.1-6.1.14.jar!/:na] at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:150) ~[jsp-2.1-6.1.14.jar!/:na] at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:640) ~[jetty-servlet-9.3.14.v20161028.jar!/:9.3.14.v20161028] at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:419) ~[jetty-servlet-9.3.14.v20161028.jar!/:9.3.14.v20161028] at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:892) ~[jetty-servlet-9.3.14.v20161028.jar!/:9.3.14.v20161028] at org.springframework.boot.context.embedded.jetty.JettyEmbeddedWebAppContext$JettyEmbeddedServletHandler.deferredInitialize(JettyEmbeddedWebAppContext.java:46) ~[spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.context.embedded.jetty.JettyEmbeddedWebAppContext.deferredInitialize(JettyEmbeddedWebAppContext.java:36) ~[spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.handleDeferredInitialize(JettyEmbeddedServletContainer.java:186) ~[spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.start(JettyEmbeddedServletContainer.java:121) ~[spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297) ~[spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145) ~[spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545) ~[spring-context-4.3.4.RELEASE.jar!/:4.3.4.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.2.RELEASE.jar!/:1.4.2.RELEASE] at com.analytics.bi.App.main(App.java:91) [classes!/:0.0.1-SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0([email protected]/Native Method) ~[na:na] at sun.reflect.NativeMethodAccessorImpl.invoke([email protected]/NativeMethodAccessorImpl.java:62) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke([email protected]/DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.lang.reflect.Method.invoke([email protected]/Method.java:531) ~[na:na] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [bi.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [bi.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [bi.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58) [bi.jar:0.0.1-SNAPSHOT]

Mein Pom:

<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>project-lyoko</groupId> 
<artifactId>bi</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>bi</name> 
<url>http://maven.apache.org</url> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java.version>1.8</java.version> 
    <!-- The main class to start by executing java -jar --> 
    <start-class>com.analytics.bi.App</start-class> 
</properties> 


<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.4.2.RELEASE</version> 
</parent> 

<dependencies> 

    <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple --> 
    <dependency> 
     <groupId>com.googlecode.json-simple</groupId> 
     <artifactId>json-simple</artifactId> 
     <version>1.1</version> 
    </dependency> 


    <!-- https://mvnrepository.com/artifact/net.sourceforge.nekohtml/nekohtml --> 
    <dependency> 
     <groupId>net.sourceforge.nekohtml</groupId> 
     <artifactId>nekohtml</artifactId> 
     <version>1.9.22</version> 
    </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> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context-support</artifactId> 
    </dependency> 



    <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>4.3.3.RELEASE</version> 
    </dependency> 

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


    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-jpa</artifactId> 
    </dependency> 


    <!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc --> 
    <dependency> 
     <groupId>org.xerial</groupId> 
     <artifactId>sqlite-jdbc</artifactId> 
     <version>3.8.11.2</version> 
    </dependency> 

    <dependency> 
     <groupId>org.quartz-scheduler</groupId> 
     <artifactId>quartz</artifactId> 
     <version>2.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.quartz-scheduler</groupId> 
     <artifactId>quartz-jobs</artifactId> 
     <version>2.2.1</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp --> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>1.4</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> 
    <dependency> 
     <groupId>commons-io</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>2.4</version> 
    </dependency> 



    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>com.amazon.redshift</groupId> 
     <artifactId>redshift-jdbc42</artifactId> 
     <version>1.2.1.1001</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.hadoop</groupId> 
     <artifactId>hadoop-core</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-jetty</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>2.7.4</version> 
     <exclusions> 
      <exclusion> 
       <groupId>com.fasterxml.jackson.core</groupId> 
       <artifactId>jackson-core</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>com.fasterxml.jackson.core</groupId> 
       <artifactId>jackson-annotations</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-core</artifactId> 
     <version>2.7.4</version> 
    </dependency> 

    <dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-annotations</artifactId> 
     <version>2.7.4</version> 
    </dependency> 

    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> 
    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-lang3</artifactId> 
     <version>3.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jgroups</groupId> 
     <artifactId>jgroups</artifactId> 
     <version>3.6.9.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>6.0.5</version> 
    </dependency> 

</dependencies> 

<repositories> 

    <repository> 
     <id>redshift</id> 
     <url>http://redshift-maven-repository.s3-website-us-east-1.amazonaws.com/release</url> 
    </repository> 
</repositories> 

<build> 
    <!-- <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> --> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <configuration> 
       <addResources>false</addResources> 
      </configuration> 
      <executions> 
       <execution> 
        <goals> 
         <goal>repackage</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

     <!-- Maven Shade Plugin --> 
     <!--<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> 
      <version>2.3</version> <executions> <execution> <phase>package</phase> <goals> 
      <goal>shade</goal> </goals> <configuration> <minimizeJar>false</minimizeJar> 
      <createDependencyReducedPom>true</createDependencyReducedPom> </configuration> 
      </execution> </executions> </plugin> --> 
    </plugins> 
</build> 

Ich bin mit Feder-boot-embedded-Anlegesteg . Ich kann die App auf meinem lokalen ausführen, aber wenn ich mvn Paket und ich dies auf einer Remote-Instanz (ec2) ausführen, wird mir diesen Fehler geben.

Ich habe viele Kommentare über Jar Probleme gelesen und konnte nicht verstehen, was dies bedeutete.

Antwort

1

Sie haben die falschen JSP-Implementierungsklassen.

jsp-2.1-6.1.14.jar ist ungültig für Jetty 9.3.x

verwenden stattdessen ...

<dependency> 
    <groupId>org.eclipse.jetty</groupId> 
    <artifactId>apache-jsp</artifactId> 
    <version>9.3.14.v20161028</version> <!-- same version as jetty itself --> 
</dependency> 

Und herauszufinden, wo Sie, dass jsp-2.1-6.1.14.jar davor sind (wahrscheinlich eine vorübergehende Abhängigkeit) und es auszuschließen.

Hinweis: Die 6.1.14 in diesem JSP-Jar weist darauf hin, dass Sie Jetty 6.1.14 auch in Ihren Abhängigkeiten haben, das entfernt werden muss, aber es ist 100% nicht abwärts kompatibel mit Jetty 9.x. Das könnte sich als schwierig herausstellen, wenn Sie Jetty 6.x aus irgendeinem Grund noch benötigen.

Jetty 6.x ist vor Eclipse. Jetty wechselte mit Jetty 7.x zur Eclipse Foundation und diese Änderung war für die Codebasis sehr dramatisch.

+0

Ich werde dies morgen versuchen und ich werde Sie das Ergebnis wissen lassen –

Verwandte Themen