当前位置: 首页 > 知识库问答 >
问题:

将java web maven项目导入eclipse的正确方法是什么?

董永宁
2023-03-14

抱歉,我对eclipse和java servlets真的很陌生。我看过这个问题Eclipse可以导入一个Maven Web项目作为“动态Web应用”吗?,这对我真的很有帮助。

我已经更改了项目方面(但是动态Web模块版本存在一些问题,我已将其更改为2.5),现在我可以使用“在服务器上运行”选项。我使用雄猫6。

但是我的web.xml位置有一些问题,在我导入的项目中< code>web.xml文件在< code > root/src/main/WEB app/we b-INF 中,eclipse在< code > root/WEB content/we b-INF 中找不到它,所以在一些更改之后,检测到了< code>web.xml文件,并且出现了一些servlets

但是当我尝试运行任何servlet时,会出现类似的错误

javax.servlet.ServletException: Wrapper cannot find servlet class com.games.GulliverTravel.servlets.InitializeGameServlet or a class it depends on
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    java.lang.Thread.run(Thread.java:680)
root cause

java.lang.ClassNotFoundException: com.games.GulliverTravel.servlets.InitializeGameServlet
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    java.lang.Thread.run(Thread.java:680)

这是我的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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>ProjectName</groupId>
  <artifactId>ProjectName</artifactId>
  <packaging>war</packaging>
  <version>1.0</version>
  <name>ProjectName Backend</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>1.3.1</version>
        <scope>compile</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>ProjectName</finalName>
  </build>
</project>

我不明白为什么会发生这种情况,因为当我以前在另一台计算机上这样做时,一切都很好,而且它正确地导入,没有任何问题。请帮帮我。这和改变网站位置有关吗。xml文件?你知道如何解决这些问题吗?非常感谢。

更新:我克隆项目的库也没有。项目文件,只有classes、web.xml和pom文件。

共有1个答案

方轩昂
2023-03-14

IMO认为导入现有maven项目是正确的选择

这只会确保您不会失去源代码/测试文件夹结构并继续使用Maven进行构建。

或者您可以在命令行中使用mvn eclipse:eclipse命令,这将为您生成eclipse特定的文件。

 类似资料:
  • 我正在对一个半大型项目进行重组,我不确定最好的方法。我无法决定在哪里使用我的#导入 如果不清楚,请告诉我,我会尽量重申。

  • 问题内容: 我是一位有抱负的Java程序员,希望在项目中使用JSON。我正在遵循一个编程教程(从书​​中),该教程要求我使用以下行将JSON导入到我的项目中: 但这产生了一个错误,因此我用以下代码替换了它: 这也会产生一个(不同的)错误: 导入org.json无法解析 我认为问题是我的Eclipse工作区中实际上没有JSON库。如何执行此操作,以便可以使用JSONArray?我找到了用于JSON的

  • 您使用的是一个旧的、不受支持的Gradle版本。请使用1.8或更高版本。请在项目的Gradle设置或项目的Gradle包装(如果适用)中指向支持的Gradle版本 有关详细信息,请参阅IDE日志(帮助显示日志) 我在使用Android Studio0.3和Ubuntu的时候,也在Windows 8的盒子上尝试了一下,但也出现了同样的错误。我正在使用并且尝试检查和取消检查。这是窃听器吗?我怎么才能绕

  • 首先,我在netbeans中创建java项目,我想将netbeans中的java项目导入到eclipse kepler中的maven项目中,我尝试了一次,但是在eclipse kepler中编译时出错,但是如果在eclipse kepler中导入java项目并进行编译,就可以了。

  • 问题内容: 我有一个本地CMake项目,并且我想与它一起使用Eclipse IDE,以便通过提供自动完成功能和其他功能使我的开发更加轻松。我似乎找不到如何在Eclipse中导入CMake项目的方法。 PS:我愿意征求其他与CMake一起使用的IDE的建议。 问题答案: KDevelop是一个很棒的IDE,具有强大的CMake支持。 至于Eclipse-运行以下命令: 这将为您生成Eclipse项目

  • 问题内容: 我只是想知道,是否有可能同时将多个项目导入Eclipse。因为每当创建新工作区时,都必须将所需的项目从旧工作区导入到新创建的工作区中。 因此,很高兴知道是否存在同时导入多个项目的选项? 谢谢。 问题答案: 如果所有旧项目都存在于单个目录或单个父目录中,则可以执行 File- > Import …-> Existing Projects intoworkspace 。选择一个根目录,该目