Sử dụng IntelliJ IDE không thể biên dịch bất kỳ dự án nào. Ảnh chụp màn hình của cài đặt bên dưới:
JDK đã sử dụng:
Cấp độ SDK và ngôn ngữ dự án:
Trình độ ngôn ngữ:
Có ai có ý kiến gì không?
Sử dụng IntelliJ IDE không thể biên dịch bất kỳ dự án nào. Ảnh chụp màn hình của cài đặt bên dưới:
JDK đã sử dụng:
Cấp độ SDK và ngôn ngữ dự án:
Trình độ ngôn ngữ:
Có ai có ý kiến gì không?
Câu trả lời:
Nếu bạn đang sử dụng Maven
Thêm plugin trình biên dịch vào pom.xml
bên dưới project
nút cấp cao nhất :
<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>
(Hoist từ các ý kiến.)
Lưu ý: Nếu bạn không quan tâm đến việc nhập lại dự án của mình, thì điều duy nhất bạn thực sự cần làm là thay đổi pom và nhập lại dự án, sau đó IntelliJ sẽ chọn các cài đặt chính xác và bạn không phải thay đổi chúng theo cách thủ công.
Project Structure -> Project Settings -> Modules -> Denpendencies -> Module SDK
.
Đây trông giống như loại lỗi mà Maven tạo ra khi bạn không có plugin trình biên dịch được cấu hình đúng. Đây là một ví dụ về cấu hình trình biên dịch Java 8.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ... -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<!-- ... -->
</project>
project
, build
và sau đó plugins
.
<source>1.8</source>
và <target>1.8</target>
được cấu hình, lỗi trên có thể xảy ra.
java compiler
Trong cửa sổ Cài đặt, đặt mã byte đích thành 1.8
(hoặc 9 cho java9)
Có hai cách để giải quyết vấn đề này:
Nhiều câu trả lời liên quan đến Maven là đúng nhưng bạn không phải định cấu hình plugin trực tiếp.
Giống như được mô tả trên trang wiki của Trình biên dịch Apache Maven, bạn chỉ có thể đặt 2 thuộc tính được sử dụng bởi plugin.
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
org.apache.maven.plugins:maven-compiler-plugin
trong tệp pom hoặc gradle của bạn, điều trong tài liệu muốn nói là việc đặt thuộc tính đó trong thuộc tính pom là đủ, về cơ bản vì chúng đặt các giá trị mặc định của plugin, ví dụ <source> $ { maven.compiler.source} </ source>
Tôi đã sửa lỗi này bằng cách vào Cấu trúc dự án -> Mô-đun , tìm mô-đun được đề cập, nhấp vào tab Phụ thuộc , thay đổi Module SDK
thành Project SDK
.
Tôi đã sửa nó chỉ bằng cách thay đổi phiên bản biên dịch đích thành 1.8. Nó đang ở trong:
Tệp >> Cài đặt >> Xây dựng, Thi hành, Triển khai >> Trình biên dịch >> Trình biên dịch Java
Trong trường hợp của tôi, tôi đã khắc phục vấn đề này bằng cách mở tệp .iml của dự án (nó nằm trong thư mục gốc của dự án và có tên giống như tên của dự án) và thay đổi dòng <orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
thành<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
Tôi đã có mọi thứ được cấu hình như trong các câu trả lời khác ở đây nhưng vì lý do nào đó, ý tưởng cập nhật tệp .iml không chính xác.
Tôi đã sửa nó bằng cách sửa đổi tập tin POM của tôi. Lưu ý bình luận cuối cùng dưới câu trả lời bình chọn cao nhất.
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Nguồn phải phù hợp với mục tiêu.
Trong tệp cấp độ ứng dụng Gradle của bạn >> compileOptions thêm hai dòng này
android {
compileOptions {
...
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
...
}
}
Trong tập tin trình biên dịch, bạn sẽ tìm thấy:
<bytecodeTargetLevel>
<module name="your_project_name_main" target="1.8" />
<module name="your_project_name_test" target="1.8" />
</bytecodeTargetLevel>
và bạn có thể thay đổi giá trị mục tiêu từ cũ sang mới đối với tôi, tôi cần thay đổi giá trị từ 1,5 thành 1,8
Đối với tôi, vấn đề là về việc Maven không thể tìm thấy cấu hình phù hợp, vì các mục này đã được chỉ định trong pom cha.
Thay đổi tệp -> Cài đặt -> Xây dựng, Thực thi, Triển khai -> Maven -> Tệp Cài đặt người dùng để trỏ đến cài đặt tùy chỉnh của tôi với kho lưu trữ thích hợp đã khắc phục sự cố đang ẩn.
Tìm hiểu về sự cố thông qua Trợ giúp -> Hiển thị nhật ký trong trình thám hiểm -> nhấp vào tệp nhật ký, khi trước đó chỉ gặp lỗi trong tiêu đề và "java.lang.NullPulumException" trong bảng điều khiển.
Với Intellij , sử dụng Maven , bạn phải kiểm tra xem Intellij có tự động nhập dự án của bạn không. Bạn có thể kiểm tra bằng cách nhấp vào tab Maven ở bên phải Trình chỉnh sửa của bạn.
Nếu Dự án của bạn không có ở đây, thì hãy thêm pom.xml
tệp bằng cách nhấp vào +
.
Rõ ràng, dự án cũng phải có liên quan <build/>
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Nếu không có câu trả lời nào khác hoạt động, hãy kiểm tra SDK Mô-đun của bạn .
Tôi đã gặp lỗi này khi tôi cập nhật SDK dự án lên 1.8, trình biên dịch Javac thành 1.8, v.v. Cài đặt gây ra sự cố cho tôi là "Module SDK".
(trên Linux) Đi đến File > Project Structure...
sau đó trong cửa sổ mở ra, chọn Modules
bên dưới Project Settings
. Chọn mô-đun được đề cập từ danh sách và sau đó là Dependencies
tab và đảm bảo rằng mô-đun Module SDK
được đặt phù hợp.
Tôi đã kiểm tra tất cả những điều trên nhưng lỗi vẫn xảy ra.
Nhưng nhập lại tất cả các dự án maven (nút tải lại trong bảng điều khiển Maven dự án) hoạt động trong trường hợp của tôi.