2016-07-16 21 views
2

ビルドシステムとで使用しようとしています。今、JSPはレンダリングされません。また、私はこのエラーMSGGradle + Spring Boot + Jetty + JSPが失敗する

Whitelabel Error Page 

This application has no explicit mapping for /error, so you are seeing this as a fallback. 

Sun Jul 17 00:31:05 CEST 2016 
There was an unexpected error (type=Internal Server Error, status=500). 
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspSourceImports 

を取得するには、build.gradleファイルに依存しているようです。私はMavenを使用する場合は

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath "org.springframework.boot:spring-boot-gradle-plugin:1.3.6.RELEASE" 
     classpath 'org.springframework:springloaded:1.2.5.RELEASE' 
    } 
} 

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'idea' 
apply plugin: 'spring-boot' 
apply plugin: 'rebel' 

buildscript { 
    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     classpath group: 'org.zeroturnaround', name: 'gradle-jrebel-plugin', version: '1.1.3' 
    } 
} 
jar { 
    baseName = 'gs-spring-boot' 
    version = '0.1.0' 
} 

repositories { 
    mavenCentral() 
} 

sourceCompatibility = 1.8 
targetCompatibility = 1.8 

dependencies { 
    // tag::jetty[] 
    compile("org.springframework.boot:spring-boot-starter-web") { 
     exclude module: "spring-boot-starter-tomcat" 
    } 
    compile("org.springframework.boot:spring-boot-starter-jetty") 
    // end::jetty[] 
    // tag::actuator[] 
    compile("org.springframework.boot:spring-boot-starter-actuator") 
    compile("javax.servlet:javax.servlet-api") 
    compile('org.eclipse.jetty:jetty-webapp') 
    compile('org.eclipse.jetty:jetty-jsp') 

    runtime 'javax.servlet:javax.servlet-api' 
    runtime 'javax.servlet:jstl' 

    testCompile("org.springframework.boot:spring-boot-starter-test") 

    testCompile("junit:junit") 

} 

// change default IntelliJ output directory for compiling classes 
idea { 
    module { 
     inheritOutputDirs = false 
     outputDir = file("$buildDir/classes/main/") 
    } 
} 

task wrapper(type: Wrapper) { 
    gradleVersion = '2.3' 
} 

も、ランタイムでのビルドシステムを混在なぜ私はmvn jetty:run

<?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> 
    <parent> 
     <!-- Your own application should inherit from spring-boot-starter-parent --> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-samples</artifactId> 
     <version>1.4.0.BUILD-SNAPSHOT</version> 
    </parent> 
    <artifactId>spring-boot-sample-jetty-jsp</artifactId> 
    <packaging>war</packaging> 
    <name>Spring Boot Jetty JSP Sample</name> 
    <description>Spring Boot Jetty JSP Sample</description> 
    <url>http://projects.spring.io/spring-boot/</url> 
    <organization> 
     <name>Pivotal Software, Inc.</name> 
     <url>http://www.spring.io</url> 
    </organization> 
    <properties> 
     <main.basedir>${basedir}/../..</main.basedir> 
     <m2eclipse.wtp.contextRoot>/</m2eclipse.wtp.contextRoot> 
    </properties> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
      <exclusions> 
       <exclusion> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-tomcat</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-validation</artifactId> 
      <exclusions> 
       <exclusion> 
        <groupId>org.apache.tomcat.embed</groupId> 
        <artifactId>tomcat-embed-el</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-jetty</artifactId> 
      <!--<scope>provided</scope>--> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>apache-jsp</artifactId> 
      <!--<scope>provided</scope>--> 
     </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> 
       <configuration> 
        <executable>true</executable> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <configuration> 
        <useSystemClassLoader>false</useSystemClassLoader> 
       </configuration> 
      </plugin> 



     </plugins> 
    </build> 
</project> 

でコマンドラインから起動するならば、私は、JSPをレンダリングすることができますし、なぜ私は手動で一緒に入れなければなりませんいくつかのJSPとサーブレットを実行するだけの桟橋サーバーですか?私はなぜJavaプロジェクトが簡単なことを不可能にしなければならないのか理解していない。以前はjspとサーブレットを使いやすくなっていましたが、今はjspを使用したい場合は数日間2つの問題が発生します。

このタイプのタスクでは、gradleの実例はありませんか?私が何をやろうとしていることについて何か知っていますか?

Jettyを使用してJSPを表示することが最も基本的なことです.Javaサーバーで何か他のものを実現したいのですか?静的コンテンツのみ、またはRestAPIのみのためにJettyを使用する人は誰もいません - Jettyの主な機能はJSPを表示することです。なぜ簡単なタスクを不可能にするのですか?

私はまた、PythonでWeb開発を行います。このタイプの問題は互換性がありません - テンプレートを表示するだけで動作し、試してもこのタイプの問題を達成できませんでした。今やJavaは指示が間違っているか、不完全でビルドファイルが不完全で、プロジェクトが不完全で、週末全体を無駄にしています。私はC、アセンブリ、そしてPythonにとどまりたいと思っていました。少なくとも私たちはそこで何かをデバッグすることができ、私たちには選択肢があります。私がJavaで何かを試すたびに、この問題が発生します。これは、4GBのjarとxmlの地獄に最もリンクしなければならない無限のスタックトレースの問題です。私はあなたが何をしているのかを知ることができるアセンブリプログラミングに戻ります。混乱の唯一の原因となるサーバーを実行するために、4ギガバイトのXMLは必要ありません。

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspSourceImports 
     at org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1305) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:979) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:895) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[javax.servlet-api-3.1.0.jar:3.1.0] 
     at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0] 
     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:224) ~[websocket-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextHeaderFilter.doFilterInternal(EndpointWebMvcAutoConfiguration.java:281) ~[spring-boot-actuator-1.3.6.RELEASE.jar:1.3.6.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:115) ~[spring-boot-actuator-1.3.6.RELEASE.jar:1.3.6.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:103) ~[spring-boot-actuator-1.3.6.RELEASE.jar:1.3.6.RELEASE] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) [jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) [jetty-security-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.Server.handle(Server.java:499) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) [jetty-io-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) [jetty-util-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) [jetty-util-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] 
Caused by: java.lang.NoClassDefFoundError: org/apache/jasper/runtime/JspSourceImports 
     at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_91] 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[na:1.8.0_91] 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:642) ~[na:1.8.0_91] 
     at org.apache.jasper.servlet.JasperLoader.findClass(JasperLoader.java:232) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:193) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:656) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:202) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0] 
     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) ~[jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) [jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:595) [jetty-security-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) [jetty-servlet-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:191) ~[jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:72) ~[jetty-server-9.2.17.v20160517.jar:9.2.17.v20160517] 
     at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1246) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1029) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:973) ~[spring-webmvc-4.2.7.RELEASE.jar:4.2.7.RELEASE] 
     ... 48 common frames omitted 
Caused by: java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspSourceImports 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_91] 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_91] 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_91] 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_91] 
     at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:187) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:125) ~[javax.servlet.jsp-2.3.2.jar:2.3.2] 
     ... 92 common frames omitted 

私のファイル構造は、すべての

[email protected] ~/p/s/s/spring-boot-sample-jetty-jsp> tree 
. 
├── build 
│   ├── classes 
│   │   ├── main 
│   │   │   ├── application.properties 
│   │   │   ├── rebel.xml 
│   │   │   └── sample 
│   │   │    └── jetty 
│   │   │     └── jsp 
│   │   │      ├── MyException.class 
│   │   │      ├── MyRestResponse.class 
│   │   │      ├── SampleJettyJspApplication.class 
│   │   │      └── WelcomeController.class 
│   │   └── test 
│   ├── dependency-cache 
│   ├── libs 
│   │   ├── gs-spring-boot-0.1.0.jar 
│   │   └── gs-spring-boot-0.1.0.jar.original 
│   ├── resources 
│   │   └── main 
│   │    ├── application.properties 
│   │    └── rebel.xml 
│   └── tmp 
│    ├── compileJava 
│    │   └── emptySourcePathRef 
│    ├── compileTestJava 
│    │   └── emptySourcePathRef 
│    └── jar 
│     └── MANIFEST.MF 
├── build.gradle 
├── build.log 
├── classes 
│   └── production 
│    └── spring-boot-sample-jetty-jsp 
│     ├── application.properties 
│     └── rebel.xml 
├── gradle 
│   └── wrapper 
│    ├── gradle-wrapper.jar 
│    └── gradle-wrapper.properties 
├── gradlew 
├── gradlew.bat 
├── pom.xml 
├── spring 
│   ├── gradle 
│   │   └── wrapper 
│   │    ├── gradle-wrapper.jar 
│   │    └── gradle-wrapper.properties 
│   ├── gradlew 
│   ├── gradlew.bat 
│   ├── pom.xml 
│   └── src 
│    ├── main 
│    │   ├── java 
│    │   │   └── sample 
│    │   │    └── jetty 
│    │   │     └── jsp 
│    │   │      ├── MyException.java 
│    │   │      ├── MyRestResponse.java 
│    │   │      ├── SampleJettyJspApplication.java 
│    │   │      └── WelcomeController.java 
│    │   ├── resources 
│    │   │   ├── application.properties 
│    │   │   └── rebel.xml 
│    │   └── webapp 
│    │    └── WEB-INF 
│    │     └── jsp 
│    │      └── welcome.jsp 
│    └── test 
│     └── java 
│      └── sample 
│       └── jetty 
│        └── jsp 
│         └── SampleWebJspApplicationTests.java 
├── spring-boot-sample-jetty-jsp.iml 
├── spring-boot-sample-jetty-jsp.ipr 
├── spring-boot-sample-jetty-jsp.iws 
├── src 
│   ├── main 
│   │   ├── java 
│   │   │   └── sample 
│   │   │    └── jetty 
│   │   │     └── jsp 
│   │   │      ├── MyException.java 
│   │   │      ├── MyRestResponse.java 
│   │   │      ├── SampleJettyJspApplication.java 
│   │   │      └── WelcomeController.java 
│   │   ├── resources 
│   │   │   ├── application.properties 
│   │   │   └── rebel.xml 
│   │   └── webapp 
│   │    └── WEB-INF 
│   │     └── jsp 
│   │      └── welcome.jsp 
│   └── test 
│    └── java 
│     └── sample 
│      └── jetty 
│       └── jsp 
│        └── SampleWebJspApplicationTests.java 
└── target 
    ├── classes 
    │   ├── application.properties 
    │   ├── rebel.xml 
    │   └── sample 
    │    └── jetty 
    │     └── jsp 
    │      ├── MyException.class 
    │      ├── MyRestResponse.class 
    │      ├── SampleJettyJspApplication.class 
    │      └── WelcomeController.class 
    ├── generated-sources 
    │   └── annotations 
    ├── generated-test-sources 
    │   └── test-annotations 
    ├── maven-archiver 
    │   └── pom.properties 
    ├── maven-status 
    │   └── maven-compiler-plugin 
    │    ├── compile 
    │    │   └── default-compile 
    │    │    ├── createdFiles.lst 
    │    │    └── inputFiles.lst 
    │    └── testCompile 
    │     └── default-testCompile 
    │      ├── createdFiles.lst 
    │      └── inputFiles.lst 
    ├── spring-boot-sample-jetty-jsp-1.4.0.BUILD-SNAPSHOT 
    │   ├── META-INF 
    │   └── WEB-INF 
    │    ├── classes 
    │    │   ├── application.properties 
    │    │   ├── rebel.xml 
    │    │   └── sample 
    │    │    └── jetty 
    │    │     └── jsp 
    │    │      ├── MyException.class 
    │    │      ├── MyRestResponse.class 
    │    │      ├── SampleJettyJspApplication.class 
    │    │      └── WelcomeController.class 
    │    ├── jsp 
    │    │   └── welcome.jsp 
    │    └── lib 
    │     ├── classmate-1.3.1.jar 
    │     ├── hibernate-validator-5.2.4.Final.jar 
    │     ├── jackson-annotations-2.8.0.jar 
    │     ├── jackson-core-2.8.0.jar 
    │     ├── jackson-databind-2.8.0.jar 
    │     ├── jboss-logging-3.3.0.Final.jar 
    │     ├── jcl-over-slf4j-1.7.21.jar 
    │     ├── jstl-1.2.jar 
    │     ├── jul-to-slf4j-1.7.21.jar 
    │     ├── log4j-over-slf4j-1.7.21.jar 
    │     ├── logback-classic-1.1.7.jar 
    │     ├── logback-core-1.1.7.jar 
    │     ├── slf4j-api-1.7.21.jar 
    │     ├── snakeyaml-1.17.jar 
    │     ├── spring-aop-4.3.2.BUILD-SNAPSHOT.jar 
    │     ├── spring-beans-4.3.2.BUILD-SNAPSHOT.jar 
    │     ├── spring-boot-1.4.0.BUILD-SNAPSHOT.jar 
    │     ├── spring-boot-autoconfigure-1.4.0.BUILD-SNAPSHOT.jar 
    │     ├── spring-boot-starter-1.4.0.BUILD-SNAPSHOT.jar 
    │     ├── spring-boot-starter-logging-1.4.0.BUILD-SNAPSHOT.jar 
    │     ├── spring-boot-starter-validation-1.4.0.BUILD-SNAPSHOT.jar 
    │     ├── spring-boot-starter-web-1.4.0.BUILD-SNAPSHOT.jar 
    │     ├── spring-context-4.3.2.BUILD-SNAPSHOT.jar 
    │     ├── spring-core-4.3.2.BUILD-SNAPSHOT.jar 
    │     ├── spring-expression-4.3.2.BUILD-SNAPSHOT.jar 
    │     ├── spring-web-4.3.2.BUILD-SNAPSHOT.jar 
    │     ├── spring-webmvc-4.3.2.BUILD-SNAPSHOT.jar 
    │     └── validation-api-1.1.0.Final.jar 
    ├── spring-boot-sample-jetty-jsp-1.4.0.BUILD-SNAPSHOT.war 
    ├── spring-boot-sample-jetty-jsp-1.4.0.BUILD-SNAPSHOT.war.original 
    ├── surefire-reports 
    │   ├── sample.jetty.jsp.SampleWebJspApplicationTests.txt 
    │   └── TEST-sample.jetty.jsp.SampleWebJspApplicationTests.xml 
    └── test-classes 
     └── sample 
      └── jetty 
       └── jsp 
        └── SampleWebJspApplicationTests.class 

85 directories, 95 files 
+1

してください。 –

+0

なぜpom.xmlファイルとbuild.gradleファイルがあるのですか?それぞれに依存関係が設定されているのはなぜですか? –

+0

@AndyWilkinson私はgradleを学ぶために、mavenからgradleへのビルドシステムを変更しようとしています。私はあきらめて、代わりにmavenを使うべきですか?それはmavenで動作し、私はそれをgradleで動作させたいと思っていました。また、 'pom.xml'をtraslateするために' gradle init'を作成しようとしましたが、それは直接失敗しました。 –

答えて

3

まずあり、あなたが経験している問題は、Javaの問題ではありません、彼らは春のブートの問題です。 Spring Bootは、春から来ているわかりやすいコンベンションオーバーフレームワークであり、あなたの人生をより楽にするはずです...あなたがそれをしていることを知っていれば、以前のSpring体験を持たないほとんどの人は本当に分かりやすく、私は追加する必要があります)。

あなたのクラスパスをスキャンして、プロジェクトにどのような依存関係があるかを確認し、手動で設定した内容を確認してから、自動的に追加するその他の設定オプションを決定します。

Mavenにアプリケーションを実行する必要があるのはなぜですか?まあ、パッケージングがwarであると宣言したからです。Springブートに、埋め込まれたJettyで実行するのではなく、Webサーバーにファイルを展開できるようにしたいということを伝えます。 mvn jetty:runは、Jettyサーバーを起動し、アプリケーションをそのサーバーにデプロイします。これは既存のJetty上で手動で行うことができますが、開発の目的ではこれははるかに高速です。

手元にある限り、これはknown issueであり、JSPテンプレートを実行するSpringブートアプリケーションでは、JARパッケージ化を使用することはできません。 (ただし、Thymeleafを使用することをお勧めします)。

しかし、あなたはまだのGradle +桟橋+ JSPを行いたい場合は、プロジェクトの構造ツリーを表示してくださいmake sure you set your packaging to war

+0

私はtomcatに切り替えることができますが、桟橋に問題があるのは驚きです。私はThymeleafを学ぶと、それを桟橋と一緒に使うことができますか? –

+0

JSPは一般的に問題があります。特にJARパッケージでは、Gradleで使用しているものです –

+0

はい、Thymeleafは組み込みサーバであれば問題なく動作し、統合テストでもうまく動作します –

関連する問題