Ý tưởng Intellij không thể giải quyết bất cứ điều gì trong maven


130

Tôi mới biết đến Intellij Idea, tôi chỉ nhập một dự án pom.xml, nhưng ide không giải quyết bất cứ điều gì trong phụ thuộc maven.

Bất cứ điều gì được xác định trong các pom.xmlphụ thuộc khi nhập mã đều gây ra lỗicannot resolve symbol xxxxx

Nhưng mvn installsẽ hoạt động, tôi thử nhập các phụ thuộc Project Settings/Librariestrong .jartệp, sau đó nó hoạt động, nhưng ide có thể giải quyết các thư viện được xác định trong pom.xmlkhông? tôi không muốn làm điều đó mọi lúc.

Thông tin bổ sung:

Phiên bản IDEA: 12.0.3, HĐH: windows 7, reimport không hoạt động, phiên bản maven: 3.0.4, phụ thuộc maven không tồn tại trong Thư viện Exernal.

không có ngoại lệ trong ý tưởng.log ...


Phiên bản IDEA? Bất kỳ trường hợp ngoại lệ liên quan trong idea.log ? Phiên bản Maven? Bạn sử dụng hệ điều hành nào? Nút Reimport có hoạt động trong Maven Projectscửa sổ công cụ không? Bạn có thấy các phụ thuộc dưới External Librariesnút trong Project View?
CrazyCoder

Phiên bản IDEA: 12.0.3, HĐH: windows 7, reimport không hoạt động, phiên bản maven: 3.0.4, phụ thuộc maven không tồn tại trong Thư viện Exernal.
Bùng nổ

không có ngoại lệ trong ý tưởng.log ...
Burst

Hãy thử IDEA 12.1 , kích hoạt Maven 3 trong Settings| Maven| Importing, cấu hình mạng cũng có thể ảnh hưởng đến nó .
CrazyCoder

cảm ơn câu trả lời của bạn, nó hoạt động ngay bây giờ, nhưng vẫn còn một vấn đề: các phụ thuộc mà scope = system sẽ không được triển khai khi chạy trong tomcat.
Bùng nổ

Câu trả lời:


118

Trong IntelliJ 12.1.4 tôi đã xem qua Settings --> Maven --> Importingvà đảm bảo các mục sau đã được chọn:

  1. Nhập dự án Maven tự động
  2. Tạo các mô-đun IDEA cho các dự án tổng hợp
  3. Giữ nguồn ...
  4. Không bao gồm xây dựng thư mục ...
  5. Sử dụng đầu ra Maven ...
  6. Tạo thư mục souces: "tự động phát hiện"
  7. Giai đoạn trở thành ...: "tài nguyên quy trình"
  8. Tự động tải xuống: "nguồn" & "tài liệu"
  9. Sử dụng Maven3 để nhập dự án
    • Tùy chọn VM cho nhà nhập khẩu: -Xmx512m

Điều này đưa tôi từ việc có rất nhiều báo cáo nhập khẩu chưa được giải quyết để mọi thứ được giải quyết. Tôi nghĩ rằng chìa khóa ở đây là sử dụng Maven3 để nhập dự án ... Hy vọng điều này sẽ giúp.


15
Điều này là tốt, nhưng tôi cũng đã phải tải dự án như dự án Maven - chọn File | Mở, tệp pom.xml của bạn và chờ đợi.
MaKri 18/07/2015

3
Cả câu trả lời này và bình luận đầu tiên đã khắc phục vấn đề của tôi. Cảm ơn các bạn!
miken.mkndev

Tôi cần tăng bộ nhớ cho nhà nhập khẩu hơn nữa và cuối cùng đã đi với -Xmx4096m (đó là một dự án lớn). Điều này khác với cài đặt bộ nhớ trong ý tưởng.vmoptions!
Yasammez

Cảm ơn, tôi đã gặp sự cố khi Maven 3.0.5 (được đóng gói) sẽ không dẫn đến việc phụ thuộc maven được nhập, nhưng việc cập nhật để sử dụng 3.3.9 cho phép tất cả các phụ thuộc được nhập chính xác.
Matthew Buckett

Không chắc chắn tại sao IDEA không có menu ngữ cảnh tương tự như Eclipse để xây dựng dự án dựa trên maven. Với phiên bản 2017.2, bạn cần thực hiện Tệp> Cài đặt khác> Cài đặt mặc định> tìm kiếm maven trong trường tìm kiếm. IDEA có UX thực sự tồi tệ so với Eclipse
vikramvi

116

Tôi đã gặp phải vấn đề này , ý tưởng không thể tải xuống tất cả các gói jar phụ thuộc bằng maven, tôi chỉ thử các thao tác sau:

 mvn -U idea:idea

sau đó tất cả các gói jar phụ thuộc được tải xuống từ kho maven


4
Lưu ý: Plugin này đã nghỉ hưu. Nó không còn được duy trì. maven.apache.org/plugins/maven-idea-plugin
petertc

6
Đó là giải pháp duy nhất từ ​​trang này cũng phù hợp với tôi !!
nahab

Tôi đã phải đối mặt với vấn đề này từ lâu .. và điều này đã cứu ngày của tôi (/ ngày) ... Cảm ơn bạn rất nhiều !!
codeman

Nó hữu ích cho tôi. Cảm ơn bạn.
Anna Kaygorodova

3
Ai đó có thể giải thích tại sao điều này đang làm việc? Đây là giải pháp tốt duy nhất cho tôi mặc dù plugin đã nghỉ hưu, vào tháng 12 năm 2017.
Z3d4s

34

Tôi cũng đã nhận được lỗi này vì dự án đã nhập các thư mục chính và kiểm tra dưới dạng các mô-đun. Nhấp vào Project -> Nhấn F4 -> Trong cài đặt Mô-đun, xóa các thư mục chính và kiểm tra và thực hiện lại dự án. Vấn đề sẽ được giải quyết.


1
Đây cũng là vấn đề của tôi sau khi nhập dự án Maven hiện tại vào IntelliJ 14.0.3 và chọn tất cả các tùy chọn mặc định trong quá trình nhập.
Nate R.

Sau nhiều giờ tìm kiếm, điều này đã giúp tôi. Chúc lành!
SourceVisor

Cái này cũng có tác dụng với tôi! Có ai biết tại sao điều này phá vỡ độ phân giải?
dmi_

Điều này làm việc cho tôi, đây là cách dễ nhất tôi đã thử .. Cảm ơn!
rrw

1
+1 ... điều này hoàn toàn đã giúp tôi. Mọi thứ dường như được thiết lập tốt, pom.xml đã được đọc, có thư viện, nhưng cần phải làm điều này để tránh lỗi.
davesbrain

34

Tôi gặp phải vấn đề này khi sử dụng ví dụ Maven 3 kèm theo của IntelliJ 14.

Tôi đã chuyển sang sử dụng ví dụ Maven cục bộ của mình, thông qua:

Settings -> Build, Execution, Deployment -> Build Tools -> Maven -> Maven Home Directory

Sau đó thêm đường dẫn đến cá thể được cài đặt cục bộ của tôi.nhập mô tả hình ảnh ở đây

Điều này có sự phụ thuộc để xuất hiện kỳ ​​diệu.

nhập mô tả hình ảnh ở đây


1
Không thể tin được. Cái này làm việc cho tôi, sau rất nhiều đau đầu. Tôi đã tải xuống maven 3.5 từ internet. Cảm ơn rất nhiều !!
sumanth 232

đã cứu ngày của tôi !! Cảm ơn Conor
Dota2

Wow cảm giác như có gì đó không bị cản trở trong ý tưởng sau khi thực hiện thủ thuật này. Cảm ơn Connor.
Bnrdo

Geez, tôi sẽ không bao giờ nghĩ rằng không phải sử dụng phiên bản đi kèm của maven và sử dụng của riêng tôi. Nó hoàn toàn hiệu quả sau khi dành vài giờ để thử mọi thứ.
zen

Siêu !! Điều đó làm việc như một làn gió. Cảm ơn rất nhiều vì sự giúp đỡ.
Sanjeev

10

Tôi đã thử một vài lựa chọn, nhưng cái này cuối cùng cũng giải quyết được vấn đề của tôi. Tôi đã nhập lại dự án bằng cách làm theo các bước sau trong IntelliJ:

  1. Tệp -> Mới -> Dự án từ kho lưu trữ hiện có
  2. Chọn dự án của bạn từ 'Chọn tệp hoặc thư mục để nhập'

  3. Trong màn hình tiếp theo, chọn 'Nhập dự án từ mô hình bên ngoài' và chọn 'Maven.

  4. Trong bước tiếp theo, nhấp vào hộp kiểm ' Nhập dự án Maven tự động ', (đã giải quyết vấn đề của tôi)
  5. Kết thúc bằng cách chọn hồ sơ nếu cần thiết

Đối với tôi, việc nhập lại các dự án maven không giải quyết được vấn đề cho một dự án hiện có.


5

Đối với tôi, vấn đề mà tôi phải kiểm tra hộp "Nhập dự án maven tự động" trong Cài đặt> Maven> Nhập


Cảm ơn! Still là một giải pháp cập nhật cho Intellij IDEA 2016. Nhập khẩu Maven cho phép mở dự án maven hiện tại không giống như mở dự án gây ra nhiều vấn đề phụ thuộc!
Exterminator13

5

Chỉ gặp phải vấn đề tương tự sau khi cập nhật IntelliJ. Khắc phục của tôi: nhấp chuột phải vào dự án, sau đó maven -> nhập lại.


5
  1. Đóng IntelliJ
  2. Mở cùng một dự án
  3. Khi dự án tải, ở phía dưới bên phải, bạn có thể thấy một thông báo bật lên non-managed pom.xml file found, nếu bạn nhấp vào nó, một cửa sổ bật lên mới sẽ xuất hiện, nói add as maven project, nhấp vào nó và thực hiện.

4

Tôi đã nhận được lỗi này vì dự án của tôi không được thiết lập chính xác. Nó đã nhập các thư mục chính và kiểm tra dưới dạng các mô-đun. Khi tôi xóa 2 mô-đun (nhưng giữ lại chúng dưới dạng thư mục nguồn và kiểm tra), mã của tôi bắt đầu biên dịch chính xác.


4

Tôi đã có cùng một vấn đề như tác giả!

Để giải quyết vấn đề của mình, tôi đã phải thêm Plugin Maven Integration: File | Cài đặt | bổ sung

Như thế này:

Plugin tích hợp Maven

Sau đó, Intellij đã tải xuống tất cả các phụ thuộc từ tệp pom.xml.

Bây giờ nếu tôi muốn tạo một dự án dựa trên mô hình maven, tôi chỉ cần chọn Mở trên cửa sổ Intellij đầu tiên và chọn tệp pom.xml:

nhập mô tả hình ảnh ở đây


Điều này đã lừa tôi. Vì một số lý do, tôi chỉ thử nhập dự án (một dự án Maven lớn với nhiều mô-đun phụ).
Torbjørn Kristoffersen

2

Nếu bạn đã nhập dự án maven của mình trong IntelliJ và có lỗi do nhập maven không được giải quyết, có thể do cài đặt maven tùy chỉnh mà bạn có thể đang sử dụng. Tôi đã thử ghi đè nó trong cài đặt maven mặc định của Intellij nhưng không được. Cuối cùng tôi phải giữ nó trong ~ / .m2 / settings.xml và cuối cùng IntelliJ đã vinh danh nó.


Đó là cài đặt mặc định, đúng chứ?
rogerdpack

2

Tôi đã có tệp settings.xml trống trong Users /.../. M2 / settings.xml. Khi tôi thêm vào

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">

</settings>

tất cả phụ thuộc đã được tải


1

Trong Cài đặt -> Maven -> Kho chỉ một số kho được định cấu hình trong cài đặt của tôi được hiển thị.

Giải pháp thay thế

Nó có thể là một lỗi (Idea 13.1.5 Ultimate). Nó giúp tôi chuyển đổi các gương. Một trong đó không hiển thị lên đầu.


1

Với intelliJ 16.1.4 tôi cũng gặp vấn đề tương tự. Bạn nên xem Nhật ký sự kiện, vì nó cho tôi biết "Đã tìm thấy tệp pom.xml không được quản lý: ..." Sau đó tôi đã nhấp vào nó và vấn đề đã được giải quyết.


1

Trong trường hợp của tôi, tôi đã mở rộng bảng điều khiển dự án maven ở bên phải, nhấp vào + và thêm dự án. Sau đó, nó làm việc.


1

Nếu bạn có bất kỳ sự phụ thuộc nào trong pom.xml cụ thể cho tổ chức của bạn thì bạn cần cập nhật đường dẫn của tệp cài đặt cho dự án của bạn, mặc định được đặt vào thư mục người dùng của bạn trong Ubuntu: /home/user/.m2/sinstall.xml - > (thay đổi nó thành đường dẫn apache-maven của bạn)

Cập nhật tập tin cài đặt Intellij


0

3 bước đơn giản: IntelliJ 14:

  1. Tệp> cài đặt> Xây dựng, thực thi, triển khai> Xây dựng công cụ

  2. Chọn Maven

  3. Thư mục nhà Maven: C: / Tệp chương trình / apache-maven-3.3.3 (vị trí tương đương của bạn)


0

Hãy nhớ rằng IntelliJ thêm các lớp cài đặt Maven cục bộ của bạn vào đường dẫn riêng của nó , vì vậy hãy cập nhật nó.

Trong trường hợp của tôi, IntelliJ đã cố gắng gọi phương thức org.eclipse.aether.util.ConfigUtils.getFloat(). Điều này gây ra java.lang.NoSuchMethodError, bởi vì phiên bản Maven cũ của tôi chưa có phương pháp này. Do ngoại lệ, IntelliJ đã ngừng giải quyết các phụ thuộc.

Sau khi cập nhật Maven, bạn phải thay đổi cài đặt "Thư mục nhà Maven" trong "Xây dựng, Thi hành, Triển khai" -> "Maven". Sau đó, bạn phải khởi động lại IntelliJ, vì đường dẫn lớp của JVM của IntelliJ sẽ không thay đổi trong khi chạy.

Tôi đã mất một thời gian để giải quyết vấn đề này, vì tôi không mong đợi IntelliJ sử dụng các lớp cài đặt Maven cục bộ của tôi. Tôi nghĩ rằng nó sử dụng JARs đi kèm của riêng mình. Vì vậy, hy vọng thông tin này là hữu ích cho những người khác.


0

<option name="workOffline" value="true" />trong workspace.xmlkhông phải là bạn của bạn. Khuyên bạn nên kiểm tra điều này trước khi xóa .idea(có rất nhiều cài đặt hữu ích mà bạn có thể không muốn mất)

Đó là một workspace.xmlthiết lập maven


0

Dường như với tôi rằng các giải pháp cho vấn đề này rất nhiều và tất cả trông hơi giống ma thuật. Đối với tôi, việc vô hiệu hóa bộ nhớ cache, nhập lại hoặc bất kỳ thứ gì khác đã được đề cập đều không hoạt động. Điều duy nhất hữu ích là (không nhập lại) vào cài đặt Maven, bỏ chọn tự động nhập và kiểm tra lại.

nhập mô tả hình ảnh ở đây


0

có một vấn đề với phiên bản Maven đi kèm. như ai đó đã đề xuất trước đây, tôi đã chuyển sang cài đặt Maven của riêng mình và phụ thuộc một cách kỳ diệu (IntelliJ 2018.3)


0

Tôi vừa gặp vấn đề này khi thêm <dependency>...</dependency>các yếu tố vào a <profile>. Tôi chỉ thấy rằng nếu tôi thêm (chèn) các phần tử phụ thuộc chưa được giải quyết vào phần <dependencies>tử, thì phần phụ thuộc được tải xuống từ kho lưu trữ maven; Sau đó tôi có thể loại bỏ phần tử phụ thuộc khỏi phần tử phụ thuộc.


0

Sử dụng maven mặc định (đi kèm với IntelliJ) cũng có thể tạo ra vấn đề này. Vì vậy, cấu hình maven mà bạn đã cài đặt.

Điều này có thể được thực hiện từ: Tệp -> Cài đặt -> Xây dựng, Thi hành, Triển khai -> Maven

Cập nhật các cài đặt sau theo cài đặt maven của bạn:

  1. Thư mục nhà Maven =
  2. Tệp cài đặt người dùng =
  3. Kho lưu trữ cục bộ =

0

Được rồi tôi đã phải đối mặt với vấn đề này trong nhiều ngày. Đã cố gắng nhập thư viện POI và thư viện JSON đơn giản, tôi đã thử tất cả các câu trả lời được đề xuất và giải pháp không có gì hiệu quả. Cuối cùng, giải pháp cho trường hợp của tôi khá đơn giản.

Tôi chỉ cần thêm phần sau vào tệp module-info.java sau khi đặt phần phụ thuộc vào tệp POM của mình:

 requires poi.ooxml;
 requires poi;
 requires json.simple;

Vì vậy, tôi nghĩ rằng vì dự án của tôi nằm trong một gói trong một mô-đun nên tôi phải làm điều này để cho hệ thống biết rằng các thư viện đã nhập này sẽ được sử dụng. rất đơn giản, hãy đặt tên thư viện sau khi yêu cầu trong tệp module-info.java của bạn

Hi vọng nó sẽ giúp ích cho bạn


0

đi đến thư viện bên ngoài và xóa chúng tất cả các thư viện cho biết root sau khi nhấp vào nhập lại tất cả dự án

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.