繁体   English   中英

IntelliJ IDEA 16 将 Maven 依赖项添加到类路径

[英]IntelliJ IDEA 16 add maven dependencies to classpath

我是 IntelliJ 的新手并使用 2016.2 版本。 以前我使用的是Eclipse。 我正在尝试建立一个简单的 maven spring 测试项目,但是我无法弄清楚出了什么问题。

注意:我知道异常意味着什么,我知道使用Eclipse的解决方案

注 2:我尝试了一个干净的 Idea 安装

根据我的理解,想法将自动包含 maven 依赖项(如果我错了,请纠正我)

编辑1:解决方案

  1. 项目 -> 右键单击​​ -> 添加框架支持 -> 检查 Spring / Spring MVC
  2. 添加<packaging>war</packaging>
  3. 重新导入maven依赖

我试图做的

  1. 重新导入maven依赖
  2. 关闭 IntelliJ 并删除所有 *.iml 文件和所有 .idea 文件夹

异常

java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

网页.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <servlet>
        <servlet-name>sample2</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>sample2</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

sample2-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.test"></context:component-scan>
    <mvc:annotation-driven></mvc:annotation-driven>

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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>com.sa</groupId>
    <artifactId>sample2</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <spring.version>3.2.17.RELEASE</spring.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>

</project>

根据我的理解,想法将自动包含 maven 依赖项(如果我错了,请纠正我)

是的,如果在提示时签入Auto Import ,并在您打开 IntelliJ 时单击。

如果没有,请单击 Intellij 右侧窗格中的Maven Projects并在refresh后单击按钮 -> Generate sources and auto import 这将再次触发该过程。

Maven-IntelliJ

如果上述方法不起作用并且您仍然遇到 IDE 问题,请转到File -> Invalidate Cache/Restart选项File -> Invalidate Cache/Restart 那提示如下。

在此处输入图片说明

单击Invalidate and restart ,这会将所有依赖项重新索引到工作区。

对项目中的所有poms执行以下操作:

右键单击 pom.xml 并“添加为 maven 项目”。

要强制重新导入,请从“视图”菜单(或默认停靠的屏幕右侧)打开 Maven 项目工具窗口,然后按最左侧的图标(看起来像一个带有箭头的蓝色圆圈)。
这应该会强制 IntelliJ 从头开始​​解析 pom 并导入它缺少的任何依赖项。
如果自动导入没有按预期工作,通常比重新启动和清除缓存更快。

转到 File->settings-->build,Execution,Deployment-->buildtools-->maven maven home directory 到你的 home 目录。 如果不行,在File->settings-->build,Execution,Deployment-->buildtools-->maven->importing tab,勾选自动导入maven项目。

根据接受的答案,如果有人在提示时忘记检查自动导入并且 maven build 未在外部库下显示任何 Maven 依赖项,请尝试此操作(对于那些在 2021 年看到的人)。

右键单击项目文件夹

Maven->重新导入

在此处输入图片说明

暂无
暂无

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

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