WebContent \ WEB-INF \ classes文件夹为空。 Java构建路径找不到我的类

时间:2019-07-08 06:17:07

标签: java maven tomcat

我遇到java.lang.ClassNotFoundException错误。很简单,但是我解决不了!
当我检查文件夹

  

WebContent \ WEB-INF \ classes

我看到它是空的。这意味着无法构建类。
我有一个Maven项目,我做了几次:Maven清理,Maven安装,但仍然有相同的错误。
当我查看“ Java构建路径”窗口时,在“源”选项卡中,我看到默认的输出文件夹是:MyProject / WebContent / WEB-INF / classes。 同样在此窗口中,复选框:允许源文件夹的输出文件夹未选中,即使我选中并应用并保存它,运行项目时,它也会自动取消选中。奇怪!似乎还有其他东西正在重写我的构建路径。

您还可以在我的图像中看到我的Web部署程序集似乎是正确的。
我清理Tomcat服务器并清理项目,然后重新构建它。但这无济于事。

基于我的项目层次结构图像的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>SimBio</display-name>
<welcome-file-list>
    <welcome-file>default.html</welcome-file>
</welcome-file-list>
<servlet>
    <servlet-name>SimServlet</servlet-name>
    <servlet-class>simbio.main.SimServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>SimServlet</servlet-name>
    <url-pattern>/SimServlet</url-pattern>
</servlet-mapping>
</web-app>

我使用Apache Tomcat 7.0,我的项目进入

  

HTTP状态500-实例化servlet类时出错   simbio.main.SimServlet


  

异常
javax.servlet.ServletException:实例化错误   servlet类simbio.main.SimServlet   
根本原因
java.lang.ClassNotFoundException:   simbio.main.SimServlet


我的项目出了什么问题。我还应该检查什么?
感谢您的帮助。

java build path libraries deployment assembely enter image description here

更新: 在环境变量中,我有这些:

  

JAVA_HOME:C:\ Program Files \ Java \ jre1.8.0_191
  JAVA_PATH:C:\ Program Files \ Java \ jre1.8.0_191 \ bin

更新2 我的pom.xml(这取决于其他项目,如果运行那些Maven依赖项目时出错,我的项目可以生效吗?实际上我的项目很旧,这些pom.xml引用了一些不存在的版本)< / p>

<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>SimBio</groupId>
<artifactId>SimBio</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <warSourceDirectory>WebContent</warSourceDirectory>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>org.apache.jena</groupId>
        <artifactId>jena-core</artifactId>
        <version>3.5.0</version>
    </dependency>
    <dependency>
        <groupId>org.openrdf.sesame</groupId>
        <artifactId>sesame-model</artifactId>
        <version>2.7.3</version>
    </dependency>
    <dependency>
        <groupId>com.github.sharispe</groupId>
        <artifactId>slib-graph</artifactId>
        <version>0.9.5</version>
        <type>pom</type>
    </dependency>
    <dependency>
        <groupId>com.github.sharispe</groupId>
        <artifactId>slib-graph-model</artifactId>
        <version>0.9.1</version>
    </dependency>
    <dependency>
        <groupId>com.github.sharispe</groupId>
        <artifactId>slib-utils</artifactId>
        <version>0.9.5</version>
    </dependency>
    <dependency>
        <groupId>com.github.sharispe</groupId>
        <artifactId>slib-tools-sml-toolkit</artifactId>
        <version>0.9.5</version>
    </dependency>
    <dependency>
        <groupId>com.github.sharispe</groupId>
        <artifactId>slib-sml</artifactId>
        <version>0.9.5</version>
    </dependency>
    <dependency>
        <groupId>com.github.sharispe</groupId>
        <artifactId>slib-graph-algo</artifactId>
        <version>0.9.5</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.json</artifactId>
        <version>1.0.2</version>
    </dependency>
</dependencies>

Update3:我认为我的问题与其他depenedt项目(目前无法安装其maven)有关。我的错误列表中有一个错误,即:构建路径不完整。 error

1 个答案:

答案 0 :(得分:0)

已解决!
我不知道到底有什么对我有帮助,但是我做了几处更改,总体上解决了我的问题:

  • 当无法构建类时,该项目的pom.xml和其他相关项目的pom.xml会出现错误。
  • 当“允许源文件夹的输出文件夹”复选框无法保留时,意味着另一件事正在重写,因此请确保JAVA_HOME与项目设置相同
  • 我还将输出文件夹添加为MyProject / target / classes
  • 我还检查了我的项目和其他相关项目中的JDK / JRE版本,并且Tomcat也相同。
  • 我的servlet类上的编译错误也可能引起:实例化servlet类时出错