2015-02-26 18 views
13

Jaka jest procedura tworzenia WebApp Java EE z Maven i Intellij?Maven WebApp z Intellij - procedura

To co mam zrobić:

  • File/New/Project
  • rodzaj projektu: Maven
  • Utwórz z archetypu: Maven-archetyp-webapp

Ale gdy tworzę serwlet IntelliJ pokazuje symbol w serwecie: enter image description here

Ten symbol to "Klasa Java zlokalizowana poza źródłem głównym. Patrz sekcja Konfigurowanie Roots zawartość szczegółów”

Gdybym uruchomić projekt pojawia się błąd.

Gdybym zaznaczyć«zasobów»Katalog jak«Źródła root», działa projekt.

ale gdybym przeładować Maven (prawy przycisk myszy/Maven/powrotnego przywozu) katalog zasobów stracił Źródło „root” strukturę.

Myślę, że coś jest nie tak w moim procedury.

Odpowiedz

18

Utwórz nowy folder pod głównym o nazwie java. Następnie kliknij go prawym przyciskiem myszy i wybierz opcję Mark Directory As ->Źródło Root. Użyj tego katalogu dla całego kodu Java i wszystko powinno działać!

+0

Twoja odpowiedź działa, ale ...jeśli kliknę prawym przyciskiem na folder java nie mam menu kontekstowego do utworzenia serwletu (muszę utworzyć klasę, a następnie przedłużam httpservlet) Myślę, że istnieje metoda w Intellij .... ale nie wiem :( – magikbibi

+0

Czy mógłbyś podać Czy masz na myśli menu, które pojawia się po kliknięciu na folder zasobów? – chrkv

+0

Po kliknięciu prawym przyciskiem myszy na folderze "resources" mogę wybrać New/Servlet: Ale jeśli kliknę prawym przyciskiem myszy folder "java", nie mam " Servlet " – magikbibi

1

Dziękuję firmie Chrkv!

1). Utwórz nowy folder pod główną nazwą o nazwie java. Następnie kliknij go prawym przyciskiem myszy i wybierz opcję Oznacz katalog jako -> Źródła Root

2). W strukturze projektu/Moduły/Web zaznacz pole wyboru dla sprawia Java "Źródła root"

enter image description here

teraz mogę używać prawym przyciskiem myszy na Java/Nowe/servlet.

Co to jest katalog "zasobów"? (jeśli nie mogę utworzyć tutaj serwletu)

Czy to właściwy precedens?

0

ja również napotkał ten sam problem i znalazł rozwiązanie zastępując zależność:

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>2.5</version> 
    <scope>provided</scope> 
</dependency> 

postępując zgodnie z zależnościami

<dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>6.0</version> 
     <scope>provided</scope> 
    </dependency> 

po dodaniu tego i dokonywania java katalogiem głównym źródłem jako wspomniano w powyższej odpowiedzi, pomysł intellij zapewnił opcję tworzenia filtrów wraz z usługami sieciowymi. Wykonałem instrukcje z linku: http://www.tugay.biz/2013/10/hello-world-web-application-with-maven.html

+0

Kroki wspomniane przez magikbibi jest poprawnym sposobem, używając zależności javax.servlet, ponieważ zmiana zależności nie jest dobra. To działało również dla mnie –

Powiązane problemy