Mam projekt JDK 1.7 z zależnością Mavena do lokalnego pliku jar w moim repozytorium Maven.
Nie mogę zbudować projektu przy użyciu Intellij, z błędami, że nie można znaleźć symbolu (symbol to klasa importująca pakiety z lokalnego jar)
Ale mogę pomyślnie zbudować projekt przy użyciu „pakietu mvn”.
Spędziłem tyle czasu na poszukiwaniu rozwiązań, rzeczy, które już zrobiłem:
- Unieważniona pamięć podręczna
- „mvn clean install” - zależność lokalnego pliku jar
- Oznaczono jako „automatyczne ładowanie migawek” w konfiguracji mavena Intellij
- Reimpoted maven w Intellij
- Syncornized
Ten błąd zdarzał się wcześniej kilka razy, ale zwykle po prostu zamknięcie Intellij i / lub wykonanie `` czystej instalacji mvn '' załatwiło sprawę.
Proszę pomóż.
java
scala
maven
intellij-idea
Yarin Miran
źródło
źródło
Odpowiedzi:
Wiem, że to późno, ale wykonanie tego
mvn idea:idea
rozwiązuje problem.źródło
mvn idea:idea
nie był aktualizowany i nie jest utrzymywany przez jetbrainsSpróbuj usunąć wszystkie pliki .iml i POM. Następnie skopiuj i wklej swój POM ponownie do projektu i ponownie otwórz go i ponownie zaimportuj.
źródło
*.iml
,*.ipr
i*.iws
pliki z katalogu głównego projektu, a następnie wznowienie IntelliJ stałe to dla mnieDowiedziałem się, że mój plik .iml i pom były w konflikcie i powodowały problem.
źródło
C:\Users\USERNAME\.IntelliJIdea2017.2\system
. Następnie zrobiłemgit clean -xdf
w katalogu źródłowym, aby usunąć wszystkie niewersjonowane pliki i ponownie zaimportowałem projekt. Teraz działa jak urok.Dodanie więcej wskazówek, ponieważ jest to pierwsza rzecz, która pojawiła się podczas wyszukiwania, gdy miałem podobne problemy (projekt buduje się w mvn, a nie w IntelliJ), na wypadek, gdyby mogło to pomóc komuś innemu.
Kiedy to miałem, była to inna poprawka na Windows i Mac.
Na Macu przeszedłem do ItellijIDEA / Preferences / Build, Execution, Deployment / Build Tools / Maven / Maven Home Directory i ustawiłem go tak, aby używał mojego oddzielnie zainstalowanego Mavena, a nie dołączonego Mavena. Wszystkie problemy z kompilacją zniknęły.
W systemie Windows widziałem wyjątki w pliku idea.log związane z SSL, a moje drzewo projektów zawierało tylko Javę w gałęzi Biblioteki zewnętrzne. Patrząc na inne strony, wygląda na to, że IntelliJ używa swojego własnego prywatnego JDK zamiast systemowego (chociaż w moim przypadku miałem już zainstalowaną dokładnie tę samą wersję JDK). Mój systemowy pakiet JDK ma zainstalowane w magazynie kluczy dla firmowego serwera Nexus certyfikaty, których nie posiadał prywatny pakiet IntelliJ JDK, więc podczas próby pobrania plików z Nexusa były generowane wyjątki. W tym celu rozwiązaniem było wyjście z IntelliJ, ustawienie zmiennej środowiskowej o nazwie IDEA_JDK tak, aby wskazywała na JDK, który już zainstalowałem, który miał odpowiednie certyfikaty i ponownie uruchomiono IntelliJ. Wszystkie problemy z kompilacją zniknęły.
źródło
Maven
ReImport
pracował dla mnie jak poniżej ...źródło
IDE używa własnej dołączonej kopii Mavena podczas tworzenia kompilacji. Jeśli maven na terminalu różni się od IDE, to chcesz, żeby były takie same.
GOTO (na komputerze Mac) - IntelliJ Idea -> Preferencje -> Kompilacja, wykonanie, wdrożenie -> Narzędzia kompilacji -> Maven. Ustaw ścieżkę do katalogu domowego Mavena Aby znaleźć ścieżkę do Mavena, którego używasz z terminala, wpisz polecenie,
mvn -version
które powinno wypisać zestaw szczegółów, w tym ścieżkę do katalogu . Umieść to w katalogu domowym Maven .Aby być bezpiecznym, możesz zrobić to samo dla lokalizacji JDK
==== Inne rzeczy, które mogą powodować takie problemy ===
Jeśli budujesz pakiet mvn lub czystą instalację mvn, musi to zrobić z pamięcią podręczną IDE. Między innymi ten zwykle pomaga przy takich błędach ->
Plik -> Unieważnij pamięci podręczne
źródło
Wiem, że spóźniłem się na tę rozmowę, ale chciałem to opublikować na wypadek, gdyby ktoś inny napotkał ten problem. Innym powodem, dla którego tak się dzieje, jest to, że nie odnosisz się do właściwego repozytorium. Intellij domyślnie pobiera dołączoną wersję pliku jar zamiast tej z własnego repozytorium maven. Sprawdź, czy podłączone repozytorium jest właściwe.
źródło
W moim przypadku mój iml nie był zsynchronizowany, więc usunąłem iml dla określonego modułu, a następnie w opcji maven wybierz unignore project, aby odtworzyć iml
źródło
z wiersza poleceń wykonaj polecenie:
mvn idea:idea
i kliknij prawym przyciskiem myszy projekt -> z menu ponownie zaimportuj zależnościźródło
„Nie można znaleźć symbolu” oznacza, że intellij nie jest w stanie rozwiązać „zależności”. Możesz więc wymusić „Analizę zależności”, klikając „Analizuj” -> „Analizuj zależności”, a następnie wybierz „Zakres analizy”
źródło
Wiele cennych wskazówek w innych odpowiedziach tutaj, chcę tylko dodać rozwiązanie, które działało w przypadku mojego problemu .
Niedawno zaczęliśmy używać prywatnego repozytorium Mavena i zawsze robimy to
mvn -s settings.xml
podczas wywoływania linii cmdline Mavena. IntelliJ oczywiście nie wie o prywatnym repozytorium, więc potrzebuje trochę pomocy.Przejdź do Ustawienia -> Kompiluj, Wykonaj, Wdrażaj -> Narzędzia do kompilacji -> Maven i nadpisz opcję „Plik ustawień użytkownika”.
źródło
Miałem ten sam problem. Iść do:
Plik -> Struktura projektu -> Moduł . Wybierz swój moduł i w zakładce „ Zależności ” upewnij się, że wszystkie zależności maven zostały dodane.
Aby upewnić się, że zostaniesz ostrzeżony o podobnym problemie w edytorze pomysłów: przełącz się z "Zakładki zależności" na "Źródła" i dodaj oznacz swoje źródło jako źródło.
źródło
Miałem ten sam problem. Zmieniłem wersję mavena z 3.0.5 na 3.0.4 w ustawieniach Idea i wszystko działa dobrze. Nie wiem, dlaczego to mi pomaga.
źródło
Próbowałem unieważnić pamięć podręczną, zmienić Mavena na zainstalowaną wersję i nic nie działało.
Zamknięcie i odtworzenie nowego projektu rozwiązało problem.
źródło
Zamknąłem projekt i zaimportowałem go ponownie, klikając główny plik pom (nie tylko folder, ale sam plik pom).
źródło
Próbowałem wszystkiego powyżej bez radości. Jednak zrobiłem jedną rzecz, która w końcu zadziałała:
Poszedłem do C: \ Users \ .IntellijJIdea2018.2 i właśnie usunąłem cały folder.
Usuwa wszystkie ustawienia i pamięć podręczną dla IntelliJ. Musiałem ponownie zaimportować mój projekt od zera, ale proste usunięcie i ponowny import nie działały wcześniej, ale to w końcu znów działało.
źródło
Jeśli używasz gradle, wypróbuj poniższe polecenie. To rozwiązało mój problem
gradle cleanIdea idea
źródło
Ta prosta procedura trwa około 1 minuty bez ryzyka.
źródło
Usuń folder .idea i zamknij IDE
otwórz ponownie IDE i zaimportuj projekt, który dokona nowego importu, ponieważ folder .IDEA został przez nas wcześniej usunięty
Sprawdź moduł bibliotek zewnętrznych i jeśli nie jest wypełniony wymaganymi zależnościami, sprawdź, czy lokalizacja maven settings.xml jest poprawnie podana w IDE
źródło
Istnieje również możliwość, o której nie wspomniano. Jeśli importujesz bibliotekę z
com.sun.*
. Spowoduje to również ten problem.Programy działają, gdy są uruchomione w ide, ponieważ wszystkie te klasy
com.sun.*
znajdują się wjre/lib
katalogu, zostaną załadowane podczas działania. Ale po uruchomieniumvn package
te biblioteki nie będą dostępne z powodu ograniczeń Oracle od wersji Java 1.6 (te biblioteki były w pewnym sensie przestarzałe). Aby rozwiązać ten problem, możesz dodać<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArguments> <verbose /> <bootclasspath>C:/Program Files/Java/jdk1.8.0_161/jre/lib/rt.jar</bootclasspath> </compilerArguments> </configuration> </plugin> </plugins> </build>
pamiętaj, aby zastąpić ścieżkę cootclasspath własną ścieżką
rt.jar
Możesz wyszukać
Access restriction: The type XXX is not accessible due to restriction on required library
więcej szczegółów.źródło
Jeśli skonfigurowano błędne moduły, wykonaj następujące czynności:
źródło
źródło
W moim przypadku problem występował w innej wersji Project Java SDK. Kiedy budowałem projekt z terminala, maven używał Java 8, a kiedy budowałem z IDEA, używał Java 11.
Przejdź do Plik> Struktura projektu ... iw Ustawieniach projektu ustaw Project SDK na potrzebną wersję.
źródło
U mnie problem polegał na tym, że miałem wybrany kompilator Ajc w ustawieniach kompilatora IntelliJ Java . Kiedy zmieniłem go z powrotem na Javac, wszystko działało dobrze.
źródło
Dla mnie na Macu rozwiązałem to, usuwając aplikację Intellij Idea z mojego komputera i usuwając pliki pamięci podręcznej w ~ / Library / Application Support / JetBrains / IntelliJIdea2020.1 ~ / Library / Caches / JetBrains / IntelliJIdea2020.1
Następnie zainstaluj go ponownie, otwórz mój projekt i zbuduj go pomyślnie!
źródło
Napotkałem ten sam problem. Mogę pomyślnie uruchomić
mvn clean package
polecenie w terminalu, ale nie mogę go uruchomić ani zbudować z IntellJ. Wykonałem następujące czynności, ale wszystkie zawiodły.mvn clean package
lubmvn clean package
w terminalumvn clean package
mvn idea:idea
Ostatnia rzecz, nad którą pracowałem: Usuń .idea i .iml w projekcie, usuń wszystkie pliki zależności, a następnie usuń IntellJ z komputera. Po ponownym zainstalowaniu IntellJ mój projekt został pomyślnie zbudowany. Chciałbym mieć lepszy sposób na rozwiązanie tego problemu.
źródło