简体   繁体   English

使用Java在eclipse中创建的Jersey Tomcat Web服务器的404错误

[英]404 Error for a Jersey Tomcat web server created in eclipse with java

I created a server starting from a dynamic web project. 我从动态Web项目开始创建了服务器。 When I make a request to it by typing 当我通过键入请求

http://localhost:8080/restserver/myserver

or 要么

http://localhost:8080/restserver/myserver/myserver

into the search bar of my web browser I receive the response 进入我的网络浏览器的搜索栏中,我收到响应

HTTP Status 404 – Not Found

Type Status Report

Message /restserver/src/demo/demo

Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
Apache Tomcat/9.0.13

I don't know what I need to change with my server program. 我不知道我的服务器程序需要更改什么。 I've been following this tutorial to set my server up, and it doesn't look like they have much more than me. 我一直在按照本教程来设置服务器,但看起来他们没有比我更多的东西了。

My expected response to my request is 我对我的请求的预期答复是

在此处输入图片说明

I've tried just about everything. 我已经尝试了几乎所有东西。 Deleting and reinstalling eclipse and tomcat, removing my ~/.m2/repository folder. 删除并重新安装eclipse和tomcat,删除〜/ .m2 / repository文件夹。 The log file looks basically like this , 日志文件基本上看起来像这样

127.0.0.1 - - [02/Dec/2018:13:09:20 -0600] "GET / HTTP/1.1" 404 1074
0:0:0:0:0:0:0:1 - - [02/Dec/2018:13:11:13 -0600] "GET /RestServer HTTP/1.1" 302 -
0:0:0:0:0:0:0:1 - - [02/Dec/2018:13:11:13 -0600] "GET /RestServer/ HTTP/1.1" 404 1089
0:0:0:0:0:0:0:1 - - [02/Dec/2018:13:11:14 -0600] "GET /favicon.ico HTTP/1.1" 404 1085
0:0:0:0:0:0:0:1 - - [02/Dec/2018:13:11:19 -0600] "GET /RestServer/myserver HTTP/1.1" 404 1097
0:0:0:0:0:0:0:1 - - [02/Dec/2018:13:11:19 -0600] "GET /favicon.ico HTTP/1.1" 404 1085
0:0:0:0:0:0:0:1 - - [02/Dec/2018:13:11:24 -0600] "GET /RestServer/myserver/myserver HTTP/1.1" 404 1110
0:0:0:0:0:0:0:1 - - [02/Dec/2018:13:11:24 -0600] "GET /favicon.ico HTTP/1.1" 404 1085

(I have know idea where the 302 cam from, just saw this) (我知道302凸轮从哪里来,刚看到了这个)

so I'm thinking it might be that the requests aren't being authenticated because of the - in the third column? 所以我想这可能是因为第三栏中的-未对请求进行身份验证? I also don't understand the catalina.properties file , but I followed those instructions and it didn't help. 我也不了解catalina.properties文件 ,但是我遵循了这些说明,但没有帮助。 I also read a few things about proxies that I didn't really understand because I couldn't figure out how to disable proxies. 我还阅读了一些我不太了解的关于代理的内容,因为我不知道如何禁用代理。


RestServer/pom.xml RestServer / pom.xml的

<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>RestServer</groupId>
  <artifactId>RestServer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.1</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-bundle</artifactId>
            <version>1.19.4</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20170516</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.19.4</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
            <version>1.19.4</version>
        </dependency>
    </dependencies>
</project>

RestServer/WEB-INF/web.xml RestServer / WEB-INF / web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>RestServer</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/serv/*</url-pattern>
  </servlet-mapping>
</web-app>

RestServer/Java Resources/src/serverPackage/MyServer.java RestServer / Java资源/src/serverPackage/MyServer.java

package serverPackage;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

@Path("/myserver")
public class MyServer {
    @GET
    @Produces("application/xml")
    public String convertCtoF() {

        Double fahrenheit;
        Double celsius = 36.8;
        fahrenheit = ((celsius * 9) / 5) + 32;

        String result = "@Produces(\"application/xml\") Output: \n\nC to F Converter Output: \n\n" + fahrenheit;
        return "<ctofservice>" + "<celsius>" + celsius + "</celsius>" + "<ctofoutput>" + result + "</ctofoutput>" + "</ctofservice>";
    }

    @Path("{c}")
    @GET
    @Produces("application/xml")
    public String convertCtoFfromInput(@PathParam("c") Double c) {
        Double fahrenheit;
        Double celsius = c;
        fahrenheit = ((celsius * 9) / 5) + 32;

        String result = "@Produces(\"application/xml\") Output: \n\nC to F Converter Output: \n\n" + fahrenheit;
        return "<ctofservice>" + "<celsius>" + celsius + "</celsius>" + "<ctofoutput>" + result + "</ctofoutput>" + "</ctofservice>";
    }
}

My current file directory 我当前的文件目录

在此处输入图片说明

在此处输入图片说明


Update 更新

I changed 我变了

  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/serv/*</url-pattern>
  </servlet-mapping>

to

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/serv/*</url-pattern>
</servlet-mapping>

And now when I visit http://localhost:8080/RestServer/serv/myserver 现在,当我访问http:// localhost:8080 / RestServer / serv / myserver时

I receive the error

HTTP Status 500 – Internal Server Error
Type Exception Report

Message Servlet.init() for servlet [Jersey Web Application] threw exception

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

javax.servlet.ServletException: Servlet.init() for servlet [Jersey Web Application] threw exception
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:791)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:834)
Root Cause

java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present
    java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
    java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
    java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
    java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)
    java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)
    java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
    java.base/sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117)
    java.base/sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95)
    java.base/java.lang.Class.getGenericInterfaces(Class.java:1138)
    com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:629)
    com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:625)
    com.sun.jersey.core.spi.factory.ContextResolverFactory.getParameterizedType(ContextResolverFactory.java:202)
    com.sun.jersey.core.spi.factory.ContextResolverFactory.init(ContextResolverFactory.java:89)
    com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1332)
    com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180)
    com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799)
    com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795)
    com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)
    com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)
    com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339)
    com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
    com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:791)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:834)
Root Cause

java.lang.ClassNotFoundException: javax.xml.bind.JAXBContext
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1328)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
    java.base/java.lang.Class.forName0(Native Method)
    java.base/java.lang.Class.forName(Class.java:398)
    java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
    java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
    java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
    java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)
    java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)
    java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
    java.base/sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117)
    java.base/sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95)
    java.base/java.lang.Class.getGenericInterfaces(Class.java:1138)
    com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:629)
    com.sun.jersey.core.reflection.ReflectionHelper.getClass(ReflectionHelper.java:625)
    com.sun.jersey.core.spi.factory.ContextResolverFactory.getParameterizedType(ContextResolverFactory.java:202)
    com.sun.jersey.core.spi.factory.ContextResolverFactory.init(ContextResolverFactory.java:89)
    com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1332)
    com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180)
    com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799)
    com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795)
    com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)
    com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)
    com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)
    com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339)
    com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
    com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
    com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
    javax.servlet.GenericServlet.init(GenericServlet.java:158)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:791)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:834)
Note The full stack trace of the root cause is available in the server logs.

Updated local_host_accesslog 更新了local_host_accesslog

127.0.0.1 - - [03/Dec/2018:01:34:47 -0600] "GET / HTTP/1.1" 404 1074
0:0:0:0:0:0:0:1 - - [03/Dec/2018:01:39:55 -0600] "GET /myserver HTTP/1.1" 404 1082
0:0:0:0:0:0:0:1 - - [03/Dec/2018:01:39:57 -0600] "GET /favicon.ico HTTP/1.1" 404 1085
0:0:0:0:0:0:0:1 - - [03/Dec/2018:01:40:15 -0600] "GET /RestServer/myserver HTTP/1.1" 404 1097
0:0:0:0:0:0:0:1 - - [03/Dec/2018:01:40:21 -0600] "GET /RestServer/serv/myserver HTTP/1.1" 500 10064

Updated pom.xml 更新了pom.xml

<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>RestServer</groupId>
  <artifactId>RestServer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.1</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
        </configuration>
      </plugin>

    </plugins>
  </build>
  <dependencies>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-bundle</artifactId>
            <version>1.19.4</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20170516</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.19.4</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
            <version>1.19.4</version>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.2.6</version>
        </dependency>
        <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>3.0.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
    </dependencies>
</project>

You need to use Jersey controller com.sun.jersey.spi.container.servlet.ServletContainer in your mapping and specify the resources path 您需要在映射中使用Jersey控制器com.sun.jersey.spi.container.servlet.ServletContainer并指定资源路径

<init-param> 
   <param-name>com.sun.jersey.config.property.packages</param-name> 
   <param-value>com.resources</param-value>  <!--comma separated packages-->
</init-param>

and add dependency for class javax.xml.bind.JAXBContext 并为类javax.xml.bind.JAXBContext添加依赖项

<dependency> 
   <groupId>javax.xml.bind</groupId> 
   <artifactId>jaxb-api</artifactId> 
   <version>2.2.6</version> 
</dependency>

With respect to web module version 4, I am able to run the application. 关于Web模块版本4,我能够运行该应用程序。 I am using java 8 and tomcat 9. 我正在使用Java 8和Tomcat 9。

在此处输入图片说明

Please post comments if you require help for the same 如果您需要帮助,请发表评论

Although the build wass SUCCESS I gοt initially a HTTP Status 404 – Not Found. 尽管构建成功,但最初我没有HTTP状态404-未找到。 I followed all previous suggestions and I got in console a similar error. 我遵循了之前的所有建议,并且在控制台中遇到了类似的错误。 After following the markers errors and warning and searched a little bit. 遵循标记错误和警告后,进行了搜索。

First step: 第一步:

I went to project right click -> properties -> Deployment Assembly and I added the Maven Depencencies Libray, after that another severe warning appeared. 我去了项目右键单击->属性->部署程序集,并添加了Maven Depencencies Libray,此后又出现了严重警告。

Second Step: It seemed that a depedency in pom was needed to work flawlessly 第二步:似乎需要pom完美地工作

<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.1.2</version>
</dependency>

just before jaxb-api 就在jaxb-api之前

The major problem for me for all those frameworks working together are the settings in eclipse. 对于所有这些一起工作的框架,我的主要问题是eclipse中的设置。 you need to be able to have installed and connected compatible resources. 您需要能够安装并连接兼容的资源。 For example, I also managed to run properly the Dynamic Web Project 4.0 like mentioned above 例如,如上所述,我还设法正确运行了Dynamic Web Project 4.0

Third Step: 第三步:

It came to my attention that you mention this 我注意到您提到了这一点

<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
  <source>1.6</source>
  <target>1.6</target>
</configuration>

In that case, mentioning source and target version means that your whole project is going to be compiled in Java 1.6 compatibility. 在这种情况下,提及source版本和target版本意味着您的整个项目将以Java 1.6兼容性进行编译。 Maybe that is why you couldn't run it as a Dynamic Web Project 4.0 because it needs Java 1.8 and newer. 也许这就是为什么您不能将其作为Dynamic Web Project 4.0运行的原因,因为它需要Java 1.8及更高版本。 In my scenario, I set up all the preferences right, then executed that pom and it reverted everything to Java 1.6 in the options, so I just removed it and it executed properly 在我的场景中,我正确设置了所有首选项,然后执行该pom并将其所有内容还原为Java 1.6,因此我将其删除并正确执行

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM