Khi chạy thử nghiệm JUnit, sử dụng IntelliJ IDEA, tôi nhận được
Làm thế nào tôi có thể sửa điều này?
- Sử dụng SDK 1.7
- Trình độ ngôn ngữ mô-đun là 1,7
Maven xây dựng hoạt động tốt. (Đó là lý do tại sao tôi tin điều này trong vấn đề cấu hình IDEA)
Khi chạy thử nghiệm JUnit, sử dụng IntelliJ IDEA, tôi nhận được
Làm thế nào tôi có thể sửa điều này?
Maven xây dựng hoạt động tốt. (Đó là lý do tại sao tôi tin điều này trong vấn đề cấu hình IDEA)
Câu trả lời:
Nhiều khả năng bạn có các tùy chọn trình biên dịch không chính xác được nhập từ Maven tại đây:
Đồng thời kiểm tra các cài đặt phiên bản dự án và mô-đun ( mục tiêu ) được nêu trên ảnh chụp màn hình.
Những nơi khác có mức ngôn ngữ nguồn được cấu hình:
Cấp độ ngôn ngữ mặc định của Maven là 1,5 (5.0), bạn sẽ thấy phiên bản này là cấp độ ngôn ngữ Mô-đun trên ảnh chụp màn hình ở trên.
Điều này có thể được thay đổi bằng cách sử dụng cấu hình maven-Trình biên dịch-plugin bên trong pom.xml
:
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
hoặc là
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
IntelliJ IDEA sẽ phản ánh cài đặt này sau khi tái nhập khẩu dự án Maven trong dự án Maven cửa sổ công cụ:
pom.xml
cấu hình trình cắm thêm trình biên dịch java của bạn có thể chỉ định phiên bản Java sẽ ghi đè cài đặt này vào lần tới khi bạn thay đổi tệp pom.xml (nếu bật lại tự động) hoặc nhập lại dự án theo cách thủ công.
Tương tự như đã thảo luận dưới đây cho IntelliJ 13 & 14, nhưng với một cấp độ bổ sung trong bảng Cài đặt / Tùy chọn: Cài đặt > Xây dựng, Thực thi, Triển khai > Trình biên dịch > Trình biên dịch Java .
Trong IntelliJ 13 và 14, kiểm tra Cài đặt> Trình biên dịch> Giao diện người dùng Trình biên dịch Java để đảm bảo bạn không nhắm mục tiêu một phiên bản mã byte khác trong mô-đun của mình.
Trong IntelliJ IDEA 14.1 , "Phiên bản mã byte đích" ở một nơi khác.
Thay đổi sau đây có hiệu quả với tôi:
Tệp> Cài đặt ...> Xây dựng, Thực thi, Triển khai> Trình biên dịch> Trình biên dịch Java : thay đổi Phiên bản mã byte mục tiêu từ 1.5 thành 1.8
Bạn đã xem cấu hình bản dựng của mình chưa, nếu bạn sử dụng maven 3 và JDK 7
<build>
<finalName>SpringApp</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
...
</plugins>
...
</build>
Tôi đã gặp phải vấn đề này và cách khắc phục là vào Cài đặt dự án> Mô-đun> nhấp vào mô-đun cụ thể> tab Phụ thuộc. Tôi nhận thấy SDK Module vẫn được đặt trên 1.6, tôi đã thay đổi nó thành 1.7 và nó hoạt động.
Sửa đổi tệp cài đặt trình biên dịch của dự án theo đường dẫn sau và thay đổi 'đích' thành 1.7:
/project/.idea/compiler.xml
<bytecodeTargetLevel>
<module name="project-name" target="1.7" />
</bytecodeTargetLevel>
Tôi đã giải quyết nó bằng cách đặt trường trống:
Cài đặt> Trình biên dịch> Trình biên dịch Java> Phiên bản mã byte dự án
Hơn IntelliJ sử dụng phiên bản mặc định của JDK.
Từ lúc này đến lúc khác tôi cũng gặp lỗi này mà không có lý do rõ ràng. Tôi đã thay đổi tất cả các loại cài đặt trên trình biên dịch / mô-đun, nhưng cuối cùng tôi chỉ tạo lại dự án IntelliJ bằng cách nhập lại dự án Maven và vấn đề đã được giải quyết. Tôi nghi no la một con bọ.
IntelliJ 12 129.961
Tôi đã đạt được điều này sau khi nâng cấp nhỏ từ IntelliJ IDEA 14 lên v14.1. Đối với tôi, việc thay đổi bản chỉnh sửa của pom top / Parent đã được trợ giúp và sau đó nhấp vào nhập lại Maven (nếu nó không tự động).
Nhưng nó có thể chỉ đủ để Nhấp chuột phải vào (các) mô-đun / tổng hợp / mô-đun mẹ và Maven -> Reimport.
Nếu đó là một dự án Gradle, trong tệp build.gradle của bạn, hãy tìm kiếm các cài đặt sau:
sourceCompatibility = "xx"
targetCompatibility = "xx"
Đối với tất cả các dự án con, trong tệp build.gradle gốc của bạn, bạn có thể đặt:
subprojects { project ->
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
}
Mặc dù bạn có thể đặt thủ công các cấp độ ngôn ngữ trong Idea> Cài đặt, nếu đó là dự án Gradle, Idea sẽ tự động đồng bộ hóa các tệp .iml mô-đun từ cài đặt Gradle (được thử nghiệm với Idea 15+). Vì vậy, tất cả các thay đổi thủ công của bạn được ghi đè khi lớp được làm mới.
Dựa trên tài liệu Gradle , nếu chúng không được đặt, thì cấu hình JVM hiện tại được sử dụng.
Tôi tìm thấy một cách khác để chạy vào lỗi này. Bạn có thể nhận được điều này nếu bạn đã tổ chức lại cấu trúc thư mục của mình và một trong số các poms của bạn đang trỏ đến cha mẹ cũ không còn cấu hình javac (vì cấu hình đó đã được chuyển sang mức trung bình). Nếu điều này xảy ra, mức cao nhất mặc định là 1,5 và pom cấp thấp hơn sẽ thừa hưởng nó.
Vì vậy, một điều khác để kiểm tra khi bạn thấy lỗi này là cấu trúc pom của bạn phù hợp với cấu trúc thư mục của bạn đúng cách.
Nếu bản dựng Maven hoạt động tốt, hãy thử đồng bộ hóa cấu trúc của các dự án Maven và IntelliJ IDEA.
Trong cửa sổ công cụ Maven , nhấp vào nút refresh . Khi nhấn nút này, IntelliJ IDEA phân tích cấu trúc dự án trong cửa sổ công cụ Maven.
Lưu ý rằng điều này có thể không hữu ích nếu bạn đang sử dụng bản dựng EAP, vì đôi khi tính năng đồng bộ hóa Maven có thể bị hỏng.
Hãy chắc chắn rằng phụ thuộc đúng được chọn. Tệp> Cấu trúc dự án
Chọn dự án của bạn và điều hướng đến tab Phụ thuộc. Chọn phụ thuộc đúng từ thả xuống hoặc tạo mới.
Nếu tất cả các giải pháp trước đó không hiệu quả với bạn (đó là trường hợp của tôi), bạn có thể xóa các tệp cấu hình intellij:
Intellij sẽ tái tạo những cái mới sau. Tuy nhiên, HÃY CẨN THẬN, điều này cũng sẽ xóa tất cả cấu hình intellij được thực hiện trên projet (tức là: cấu hình của chế độ gỡ lỗi, ...)