Porównaj ceny domen i usług IT, sprzedawców z całego świata

IntelliJ IDEA 16 dodaje zależności maven do ścieżki klas


Jestem nowy w IntelliJ i używam wersji 2016.2. Kiedyś używałem Eclipse. Próbuję stworzyć prosty projekt testowy Maven Spring, ale nie mogę dowiedzieć się, co jest nie tak.

Uwaga:

Wiem, co oznacza wyjątek i znam rozwiązanie wykorzystujące Eclipse

Uwaga 2:

próbowałem zainstalować czysty pomysł
Zgodnie z moim zrozumieniem, pomysł automatycznie uwzględni zależności maven (popraw mnie, jeśli się mylę)

edycja 1:


Decyzja

  • Projekt - & > Kliknij prawym przyciskiem myszy - & > Dodaj obsługę struktury - & > Sprawdź Spring/Spring MVC
  • dodaj
    & < Packaging & > war & </Packaging & >
  • Ponowny import zależności Mavena


Co próbowałem zrobić

  • Ponowny import zależności Mavena
  • Zamknij IntelliJ i usuń wszystkie pliki *. iml i wszystkie foldery .idea


Wyjątek

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

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="[url=http://xmlns.jcp.org/xml/ns/javaee"]http://xmlns.jcp.org/xml/ns/javaee"[/url]
xmlns:xsi="[url=http://www.w3.org/2001/XMLSchema-instance"]http://www.w3.org/2001/XMLSchema-instance"[/url]
xsi:schemaLocation="[url=http://xmlns.jcp.org/xml/ns/javaee]http://xmlns.jcp.org/xml/ns/javaee[/url] [url=http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"]http://xmlns.jcp.org/xml/ns/ja ... ot%3B[/url]
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="[url=http://www.springframework.org/schema/beans"]http://www.springframework.org/schema/beans"[/url]
xmlns:xsi="[url=http://www.w3.org/2001/XMLSchema-instance"]http://www.w3.org/2001/XMLSchema-instance"[/url]
xmlns:context="[url=http://www.springframework.org/schema/context"]http://www.springframework.org ... ot%3B[/url]
xmlns:mvc="[url=http://www.springframework.org/schema/mvc"]http://www.springframework.org/schema/mvc"[/url]
xsi:schemaLocation="[url=http://www.springframework.org/schema/beans]http://www.springframework.org/schema/beans[/url] [url=http://www.springframework.org/schema/beans/spring-beans.xsd]http://www.springframework.org ... s.xsd[/url] [url=http://www.springframework.org/schema/context]http://www.springframework.org/schema/context[/url] [url=http://www.springframework.org/schema/context/spring-context.xsd]http://www.springframework.org ... t.xsd[/url] [url=http://www.springframework.org/schema/mvc]http://www.springframework.org/schema/mvc[/url] [url=http://www.springframework.org/schema/mvc/spring-mvc.xsd">]http://www.springframework.org ... gt%3B[/url] <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="[url=http://maven.apache.org/POM/4.0.0"]http://maven.apache.org/POM/4.0.0"[/url]
xmlns:xsi="[url=http://www.w3.org/2001/XMLSchema-instance"]http://www.w3.org/2001/XMLSchema-instance"[/url]
xsi:schemaLocation="[url=http://maven.apache.org/POM/4.0.0]http://maven.apache.org/POM/4.0.0[/url] [url=http://maven.apache.org/xsd/maven-4.0.0.xsd">]http://maven.apache.org/xsd/ma ... gt%3B[/url]
<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>

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

O ile rozumiem, pomysł obejmowałby zależności Mavena
automatycznie (popraw mnie, jeśli się mylę)

Tak, jeśli
Auto Import
jest zaznaczone, gdy pyta o to, jak i kiedy kliknięto IntelliJ.
Jeśli nie, kliknij
Maven Projects
na prawym pasku bocznym Intellij i kliknij przycisk po
odświeżeniu
- & >
Generuj źródła i automatyczny import
. Powoduje to ponowne rozpoczęcie procesu.
https://i.stack.imgur.com/uSqqN.png
Jeśli powyższe nie działa i nadal masz problem z IDE, przejdź do
File - & > Unieważnij pamięć podręczną/uruchom ponownie
. Wyświetla się, jak pokazano poniżej.
https://i.stack.imgur.com/g7DsB.png
Kliknij
Unieważnij i uruchom ponownie
, spowoduje to ponowne zindeksowanie wszystkich zależności w obszarze roboczym.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wykonaj następujące kroki dla wszystkich POM w projekcie:
Kliknij prawym przyciskiem myszy pom.xml i „Dodaj jako projekt maven”.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Aby wymusić ponowny import, otwórz okno narzędzia projektów Maven z menu „Widok” (lub po prawej stronie ekranu, gdzie jest domyślnie zadokowane) i kliknij ikonę znajdującą się najbardziej po lewej stronie (wygląda jak niebieskie kółko ze strzałkami) .

Powinno to zmusić IntelliJ do przeanalizowania pom od zera i zaimportowania wszelkich brakujących zależności.

Jest to często szybsze niż ponowne uruchamianie i czyszczenie pamięci podręcznych, jeśli automatyczne importowanie nie działa zgodnie z oczekiwaniami.


Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Przejdź do Plik -> Ustawienia-> Kompilacja, wykonanie, wdrożenie-> buildtools-> maven
katalog domowy maven do twojego katalogu domowego.
Jeśli to nie zadziała, w Plik-> Ustawienia -> Kompilacja, wykonanie, Wdrożenie -> Narzędzie do budowania -> maven-> zakładka Import, automatycznie zaznaczaj projekty importu maven.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się