0
ので、私は今、いくつかの時間のためにJSPを実行しようとしてきた、と私はkotlinとMaven、私はいくつかの問題を抱えているとそれを使用したいライティングJSPのmavenとkotlin中 - エラーインスタンス化するサーブレットクラス、ClassNotFoundExceptionが
それは私のファイルで、ここで、ClassNotFoundExceptionがスローされます。
-
<web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>Servlet</servlet-name> <servlet-class>com.erezbiox1.Servlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping> </web-app>
-
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.erezbiox1</groupId> <artifactId>KotlinJsp</artifactId> <packaging>war</packaging> <version>1.0</version> <name>KotlinJsp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>1.2.0</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> </dependencies> <build> <finalName>KotlinJsp</finalName> <plugins> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>1.2.0</version> <executions> <execution> <id>compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
-
// Tried with, and without this: @file:JvmName("Servlet") package com.erezbiox1 import javax.servlet.http.HttpServlet import javax.servlet.http.HttpServletRequest import javax.servlet.http.HttpServletResponse class Servlet : HttpServlet(){ override fun doGet(req: HttpServletRequest, resp: HttpServletResponse) { resp.writer.println("<h1>IT WORKS!</h1>") resp.writer.flush() } }
、ここでプロジェクト構造である: Project Structure
ここではerrorです:
// Exception:
javax.servlet.ServletException: Error instantiating servlet class com.erezbiox1.Servlet
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
// Root Cause:
java.lang.ClassNotFoundException: com.erezbiox1.Servlet
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
それは可能ですか? jsp、kotlinとmavenの両方? ありがとう!
私はよく慣れていませんが、なぜあなたのクラスは 'resources'ですか?私はそれが正しい場所だとは思わない – Moira
@ 1blustone私はかなり確信しています。 – Erezbiox1
@ 1blustoneプロジェクトを作成したとき、リソースフォルダは以前のjspプロジェクトのsrcフォルダとまったく同じ場所にあり、プロジェクトにはsrcフォルダがなかったので、ここにはあると仮定しました。 [これは今プロジェクトの構造です](https://i.imgur.com/PS9hOpF.png)、それが動作します!、これを答えとして投稿してください、ありがとう! – Erezbiox1