"无法解析导入org.springframework."

Vai*_*hav 34 java eclipse maven

<project>
    <properties>
        <jdk.version>1.6</jdk.version>
        <spring.version>3.2.2.RELEASE</spring.version>
        <spring.batch.version>2.2.0.RELEASE</spring.batch.version>
        <mysql.driver.version>5.1.25</mysql.driver.version>
        <junit.version>4.11</junit.version>
    </properties>

    <dependencies>

        <!-- Spring Core -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- Spring jdbc, for database -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- Spring XML to/back object -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-oxm</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- MySQL database driver -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.driver.version}</version>
        </dependency>

        <!-- Spring Batch dependencies -->
        <dependency>
            <groupId>org.springframework.batch</groupId>
            <artifactId>spring-batch-core</artifactId>
            <version>${spring.batch.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.batch</groupId>
            <artifactId>spring-batch-infrastructure</artifactId>
            <version>${spring.batch.version}</version>
        </dependency>

        <!-- Spring Batch unit test -->
        <dependency>
            <groupId>org.springframework.batch</groupId>
            <artifactId>spring-batch-test</artifactId>
            <version>${spring.batch.version}</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

    </dependencies>
    <build>
        <finalName>spring-batch</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>false</downloadJavadocs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>${jdk.version}</source>
                    <target>${jdk.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
Run Code Online (Sandbox Code Playgroud)

我在App.java类的import语句中遇到错误."无法解析导入org.springframework." 我清楚地提到了POM.xml中的依赖关系,我的java类仍然无法从那里选择依赖.

Mat*_*rne 40

您需要按照几个步骤进行正确调试.

1)mvn clean dependency:tree看看输出,看看你得到了什么,并验证你的依赖是什么.

2)mvn clean compile.这会失败吗?如果不是这意味着你只在Eclipse中得到错误?

你在评论中提到"我在上面运行两个命令,但是我收到了这个错误".没有mvn clean compile工作?或者你也得到了错误?如果它工作,那它只是一个IDE问题,我会看看m2eclipse插件.更好的是,使用IntelliJ作为免费版本比Eclipse有更好的maven支持;-)

一些风格的东西......

人们经常在他们不需要时在他们的pom文件中添加太多依赖项.如果您查看mavenrepository.com中的几个链接,您可以看到spring-oxm并且spring-jdbc两者都依赖于此,spring-core因此您不需要明确添加(例如).mvn clean dependency:tree会告诉你在所有这些之后会发生什么,但这更加整洁.

spring-batch-test应该是test范围.

  • 尝试`mvn eclipse:eclipse`或`mvn m2eclipse:m2eclipse`.不记得确切的语法,因为我使用IntelliJ.执行这些操作后,从Eclipse的根目录进行刷新,它应该从内存中自行排序. (2认同)

Vai*_*hav 16

最后我的问题得到了解决.我将项目导入为"现有项目进入工作区".这完全错了.之后,我选择了"现有Maven项目",之后发生了一些小问题和所有错误.在这个过程中,我在Maven中学到了很多东西,这对于Maven项目中的新人来说非常重要.


小智 8

对我有用的解决方案是右键单击项目-> Maven->更新项目,然后单击确定。


Fer*_*ras 6

我对此问题的直接解决方案:右键单击项目 - > Maven --->添加依赖项==然后选择缺少依赖项的名称或父名称

在此输入图像描述


小智 6

添加这些依赖

</dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.7.RELEASE</version>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)