【问题标题】:i keep getting this error at the first line of my configuration file in spring project我在spring项目的配置文件的第一行不断收到这个错误
【发布时间】:2018-04-26 22:13:36
【问题描述】:

project structure

我得到的这个错误的唯一建议解决方案是配置构建路径。我认为它已经是一切。请告诉我问题。

错误:

此行有多个标记 - org.springframework.http.HttpStatus 类型无法解析。它间接引用自 所需的 .class 文件 - org.springframework.web.method.support.HandlerMethodReturnValueHandler 类型无法解析。 它是从所需的 .class 文件中间接引用的

我正在开发弹簧工具套件。这是我的配置文件:

package com.health.config;
import java.io.IOException;

import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import com.health.dao.DAO;
import com.health.dao.DAOImpl;

@Configuration
@ComponentScan(basePackages="com.health")
@EnableWebMvc
@Component
public class AppConfig extends WebMvcConfigurerAdapter{

     @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
         registry.addResourceHandler("/resources/**").addResourceLocations("resources/");
        }


    @Bean
    public ViewResolver getViewResolver(){
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }

    @Bean
    public DataSource getDataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/contactdb");
        dataSource.setUsername("root");
        dataSource.setPassword("welkinfort");
        return dataSource;
    }



    @Bean
    public DAO getDAO() {
        return new DAOImpl(getDataSource());
    }
}

这是我的 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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.health</groupId>
<artifactId>healthcare</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>healthcare Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.38</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>5.5.10</version>
    </dependency>

    <!-- jackson-annotations -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.8.1</version>
    </dependency>
    <!-- jackson-core -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.8.1</version>
    </dependency>
    <!-- jackson-databind -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.8.1</version>
    </dependency>

    <dependency>                                    <!-- file-upload -->
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.1</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>

    <dependency>                                <!-- spring-webmvc -->
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.1.8.RELEASE</version>
    </dependency>

    <dependency>                                <!-- spring-jdbc -->
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>4.2.5.RELEASE</version>
    </dependency>

    <dependency>                        <!--tomcat7-maven-plugin -->
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-catalina</artifactId>
        <version>7.0.47</version>
        <scope>provided</scope>
    </dependency>


    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>

    <dependency>                                    <!-- jstl -->
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.1.2</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.0</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
<build>
    <finalName>healthcare</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <fork>true</fork>
                <executable>C:\Program Files\Java\jdk1.8.0_144\bin\javac</executable>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
        </plugin>
    </plugins>
</build>

【问题讨论】:

  • 先尝试重启sts。
  • @Nidhi257 我做到了!它什么也不做。此错误仅出现在一个项目中。
  • 依赖关系肯定有问题。此错误意味着您使用的一个类需要另一个不在类路径中的类。
  • 你是否为“org.springframework.http.HttpStatus”添加了jar。尝试添加这个罐子
  • 您能告诉我您使用的是哪个 IDE 吗?哪个构建工具 gradle 或 maven ?以及项目explorrer.and POM或gradle文件的截图..

标签: java spring eclipse spring-mvc m2eclipse


【解决方案1】:

您缺少 spring-web 依赖项。 org.springframework.http.HttpStatus 是 spring-web jar 的一部分。将此添加到您的 pom.xml:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.2.5.RELEASE</version>
</dependency>

【讨论】:

  • 添加这个与 spring.jdbc 冲突
  • 我收到这些错误:1. org.springframework.jdbc.core.ResultSetExtractor 类型无法解析。它是从所需的 .class 文件中间接引用的 2.此行的多个标记 - DriverManagerDataSource 无法解析为类型 - DriverManagerDataSource 无法解析为类型
  • 我认为这不会导致 jdbc 出现问题。请为您的项目进行 maven 更新。
  • 右键项目 --> maven --> 更新项目。
  • 我现在做了一些更改,这些是留下的错误:1.无法将项目方面动态 Web 模块的版本更改为 3.0。接下来是:一个或多个约束没有得到满足。两者都是 Java EE 配置问题
猜你喜欢
  • 2013-10-08
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
  • 2020-11-29
  • 1970-01-01
相关资源
最近更新 更多