Không có trình biên dịch được cung cấp trong môi trường này. Có lẽ bạn đang chạy trên JRE chứ không phải JDK?


633

Tôi đang biên dịch một dự án trong Eclipse bằng cách sử dụng m2eclipse. Tôi đặt đường dẫn JDK trong Eclipse như thế này:

Windows-->preferences-->installed jres--> jdk1.7.xx  path

Nhưng điều này đang hiển thị một lỗi

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE    rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.424s
[INFO] Finished at: Tue Oct 29 15:21:01 IST 2013
[INFO] Final Memory: 5M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-   plugin:3.1:compile (default-compile) on project TEST-WEB: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

1
Làm thế nào để bạn bắt đầu biên dịch? Dòng lệnh? Công cụ Eclipse?
Joeri Hendrickx

từ công cụ nhật thực Chạy cấu hình -> Mục tiêu: cài đặt sạch
Sai prateek

có thể trùng lặp với Lỗi biên dịch gói Maven
mlt

7
Này, lỗi này đang đến vì Maven đang cố lấy JDK nhưng trong nhật thực, nó đang chỉ vào JRE. Bạn có thể thay đổi đường dẫn đến JDK và nó sẽ hoạt động. Kiểm tra bài viết dưới đây sẽ giúp bạn tìm hiểu
Mukesh otwani

Tôi đang đăng liên kết này để ai đó trong tương lai có thể được hưởng lợi như tôi đã làm. stackoverflow.com/a/33873838/4525120
thần thánh

Câu trả lời:


983
  1. Trên IDE Eclipse của bạn, đi vào Window > Preferences > Java > JREs đã cài đặt > và kiểm tra JRE đã cài đặt của bạn . Bạn nên có một mục với JDK ở đó.
  2. Chọn Env thực thi như hiển thị dưới đây. Nhấn vào OK
  3. Sau đó nhấp chuột phải vào Dự án của bạn -> Maven -> Cập nhật dự án

Ngoài ra, bạn có thể phải thay đổi Maven JRE (xem câu trả lời @ jlars62) như sau. Goto Run -> Chạy Cấu hình, chọn Maven Build tôi đang chạy (từ bảng điều khiển bên trái). Sau đó, tôi đã bấm vào tab JRE và chọn tùy chọn JRE mặc định Workspace

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


15
@jaipster Tôi đã thử làm điều này, nhưng tôi không thể tìm thấy jdk trong bảng điều khiển bên trái, tôi chỉ có thể thấy jre7. Bạn có biết tại sao?
diyoda_

4
Nó có thể là do bạn đã cài đặt jdk7 trên máy của mình hoặc nó không được cấu hình trong nhật thực. Bạn có thể xác nhận.
jaipster

52
@Diode Tôi có cùng một vấn đề. Tôi đã đi đến "JREs đã cài đặt" và nhấp vào "Thêm ..." Từ đó tôi duyệt đến C: \ Program Files \ Java \ jdk1.7.0_XX và sau đó tôi có thể chọn jre như jaipster được mô tả.
jlunavtgrad

7
Đối với tôi, chỉ cần thêm JDK vào danh sách "JREs đã cài đặt" (không phải là cách đặt tên tốt nhất ...) và chọn hộp kiểm bên cạnh mục nhập JDK mới, biến nó thành VM mặc định.
Tom Fink

7
Tôi đã nhấp vào nút "Tìm kiếm" trong menu "JREs đã cài đặt". Eclipse đã tìm kiếm một ổ đĩa mà tôi đã chỉ ra và đưa ra tất cả các JRE và JDK đã cài đặt.
Cậu bé Mitra

141

Đối với tôi, nó chính xác là những gì maven của nhật thực phàn nàn

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

Vì vậy, tôi nhấn Editnút và thay đổi đường dẫn đến Thư mục JDK, sau đó dọn sạch dự án và mọi thứ bắt đầu hoạt động


3
Tôi muốn đề xuất thêm JRE bằng nút "Thêm" sau đó thao tác mục nhập JRE để trở thành mục nhập JDK! Và sau khi thêm JDK, nhấp vào hộp kiểm bên cạnh mục JDK. Điều này đã giải quyết (các) vấn đề được mô tả trong bài viết này.
Tom Fink

3
Nó thật quái đảng . bởi vì như tiêu đề của hộp thoại hiển thị, nên đặt Installed JREsthư mục jdk. Nhưng nó thực sự giải quyết vấn đề cho tôi. Cảm ơn
Joe.wang

Thật đáng tiếc, tiêu đề là JREs đã được cài đặt nhưng đường dẫn là JDK nhưng dù sao nó cũng hoạt động được
Abhijit Chakra

Đó là một ý tưởng tốt để loại bỏ JRE sau khi thêm JDK. Đôi khi Eclipse tiếp tục sử dụng JRE bất kể - không biết tại sao lại như vậy. Làm cho JDK là tùy chọn có sẵn duy nhất giúp. :)
rời khỏi

128
  1. Đặt JAVA_HOMEbiến môi trường cho thư mục gốc JDK - bắt buộc nếu bạn chạy dòng lệnh hoặc maven ( mvn).
    • (Tìm kiếm trên google JAVA_HOMEđể biết thêm)
  2. Trong các thuộc tính dự án trong phần Trình biên dịch Java, chọn JDK cần thiết - nếu bạn chạy trực tiếp từ nhật thực

Tại sao bước 1 bắt buộc?
Duncan Jones

2
@DuncanJones, trước tiên là bắt buộc nếu bạn chạy dòng lệnh hoặc maven (google cho biến này), thứ hai - nếu bạn chạy trực tiếp từ nhật thực,
mseach

1
Tôi sẽ thêm thông tin đó vào câu trả lời của bạn. Mặt khác, nó cho thấy cả hai đều cần thiết trong mọi trường hợp.
Duncan Jones

10
Hãy chú ý rằng JAVA_HOME không kết thúc bằng "bin", mà chỉ đến gốc của JDK.
koppor

Cần cái này cho plugin phát hành vì nó không sử dụng cài đặt jre từ nhật thực (với cài đặt maven bên ngoài) ...
Rob

124

Đối với tôi, không có gì hoạt động cho đến khi tôi thực hiện thay đổi này đối với tệp pom.xml của mình:

<build>
...
    <plugins>
    ...
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <fork>true</fork>
                <executable>C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe</executable>
            </configuration>
        </plugin>
    </plugins>
</build>

Ghi chú khác

Tôi có thể thấy rằng m2e đang thực thi trong JRE chứ không phải JDK. Không có gì tôi làm thay đổi điều này, kể cả việc thêm nó vào eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe

Cuối cùng, tôi không bao giờ có m2e để thực thi trong JDK, nhưng việc thiết lập trình biên dịch Java một cách rõ ràng (như trên) đã thực hiện thủ thuật này.


10
Giải pháp này nên được thực hiện như là phương sách cuối cùng, vì bản thân dự án đã được sửa đổi để được ghép nối với máy dev hiện tại của bạn.
Xtreme Biker

@ksnortum cảm ơn! đây là điều duy nhất làm cho nó hoạt động với tôi.
Antony Fuentes Artavia

Những gì về chúng tôi linux folks ở đây?
logicbloke

Tôi nghi ngờ nó khá giống nhau, ngoại trừ tệp thực thi sẽ là / path / to / java / bin / javac. Có thể thử 'mà java` để tìm đường dẫn Java của bạn.
ksnortum

41

Trong trường hợp của tôi, nó đã được giải quyết bằng cách làm điều này:

Chuyển đến 'Cấu hình thời gian chạy' của bạn và định cấu hình JRE của bạn thành JDK.

Chọn JDK phù hợp cho Thời gian chạy của bạn

Chọn JRE mặc định

Tôi đã sao chép câu trả lời chỉ trong trường hợp nó bị xóa vì một số lý do, nhưng nguồn ở đây


Điều này làm việc cho tôi. Nếu JDK không được hiển thị trong danh sách thả xuống JRE thay thế, do đó bạn cần thêm JRE đã cài đặt (Điều hướng đến thư mục nơi JDK được cài đặt) và chọn thư mục JDK.
Atul

Đây là vấn đề của tôi, cảm ơn câu trả lời của bạn đã được giải quyết.
Amr Afifi

38

Tôi đã nhận được lỗi này khi cố gắng thực hiện một bản dựng maven từ trong nhật thực.

Đối với tôi, câu trả lời sẽ là Run-> Run Configurations, chọn Maven Buildtôi đang chạy (từ bảng điều khiển bên trái). Sau đó, tôi nhấp vào JREtab và chọn tùy chọnWorkspace default JRE


1
Điều này dường như là cần thiết để kiểm tra ngoài câu trả lời đã chọn ở trên.
nsandersen

1
Tôi thích giải pháp này tốt hơn, vì nó không khiến bạn thay đổi phiên bản java mặc định cho các dự án khác.
Gonen I

30

Chuyển đến windows -> Preferences -> Java -> JREs đã cài đặt

có thể jre đã được thêm vào nhập mô tả hình ảnh ở đây

nhấp vào Thêm -> VM chuẩn -> Tiếp theo -> Thư mục

và duyệt tìm JDK trong trường hợp của tôi là C:\Program Files\Java\jdk1.8.0_111

Sau đó bấm vào kết thúc.

bạn sẽ thấy cửa sổ như thế nàynhập mô tả hình ảnh ở đây

chọn JDK -> Áp dụng -> Ok

Và bạn đã hoàn thành.


1
Cảm ơn đã chia sẻ đường dẫn JDK. Dường như mọi người có thể chọn một tùy chọn khác để nhấp vào JDK khi tôi chỉ hiển thị JRE từ đầu. Tôi đã thêm JDK từ đường dẫn bạn đã cung cấp.
Choung trẻ tuổi

19

Tôi có cùng một vấn đề và tôi chỉ cần thêm JAVA_HOMEvào các biến môi trường .

env var

  • Nếu bạn đang sử dụng nhật thực, chỉ cần tham khảo https://stackoverflow.com/a/21279068/6097074
  • Nếu bạn đang sử dụng intellij, ngay sau khi thêm JAVA_HOMEdấu nhắc lệnh mở từ thư mục dự án và chạy mvn clean install(không sử dụng thiết bị đầu cuối intellij).

14

Tôi đã thử tất cả các cách trên, tuy nhiên, vẫn nhận được thông báo lỗi tương tự.

Trong trường hợp của tôi, một JRE thực tế đã được sử dụng không chính xác như Thư viện hệ thống JRE trong đường dẫn xây dựng dành riêng cho dự án, rõ ràng là ghi đè tất cả các cài đặt khác được thảo luận ở đây.

Nếu đó là như vậy trong trường hợp của bạn hãy thử như sau:

  1. Mở các thư viện dành riêng cho dự án của Đường dẫn xây dựng Java: Nhấp chuột phải vào "Dự án> Đường dẫn xây dựng> Cấu hình đường dẫn xây dựng ..." và chọn tab "Thư viện".
  2. Chọn mục "Thư viện hệ thống JRE" và nhấn "Xóa".
  3. Nhấn "Thêm thư viện ...".
  4. Một thuật sĩ bật lên. Chọn "Thư viện hệ thống JRE" và nhấn "Tiếp theo>".
  5. Bây giờ chọn JDK chính xác (trong trường hợp của tôi là "JRE mặc định không gian làm việc", mà tôi đã cấu hình bằng cách sử dụng JDK).
  6. Đóng thuật sĩ bằng cách nhấn "Kết thúc".
  7. Đóng hộp thoại "Thuộc tính" bằng cách nhấn "OK".

1
Tôi đã thử tất cả các tùy chọn ở trên được đề cập bởi @ishu, nhưng vẫn nhận được org.apache.maven.lifecycle.LifecyclExecutException: Không thể thực hiện mục tiêu org.apache.maven.plugins: maven-Trình biên dịch-plugin: 3.1: biên dịch (mặc định biên dịch) trên dự án hibernateTest1: Lỗi biên dịch, sau đó tôi đã thử giải pháp của bạn, nhưng không có thay đổi nào về lỗi ... Xin hãy giúp tôi.
Namrata Choudhary

Thêm <build> <sourceDirectory>flockWebclient</sourceDirectory> <resources> <resource> <directory>resources</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>vào
tệp

11

Một cách khác nếu câu trả lời của jaipster không hoạt động là vào:
Window> Preferences> Java> JREs đã cài đặt

Sau đó, để chỉnh sửa jre để nó trỏ đến jdk chứ không phải jre (nhà jre đã nộp trong trình chỉnh sửa gói jre)

Điều đó làm việc cho tôi.


Đó là nó cho tôi. Thật buồn cười là đôi khi tôi gặp phải lỗi mà JRE mặc định đang chỉ nhầm vào JDK.
Salsero69

làm việc cho tôi, tôi muốn thực hiện biên dịch cài đặt sạch maven
asifaftab87

10

Nếu bạn đang chạy Mavenlệnh từ cmd, hãy đảm bảo bạn đặt đường dẫn jdk trước khi chạy lệnh. Trong trường hợp của tôi, tôi đã tạo một .battệp có chứa những điều sau đây:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
start cmd.exe /k "cd c:\aem_proj\sis\aau"

8

Tôi đã gặp vấn đề tương tự trong khi cố gắng xây dựng một tệp jar của ứng dụng dự án của mình bằng cách sử dụng mvn clean install, mặc dù ứng dụng đã hoạt động tốt trong khi chạy từ Eclipse.

Vấn đề là, thực sự quá ngây thơ, rằng tôi đã không đặt biến môi trường JAVA_HOME . Tất cả những gì tôi phải làm là đặt biến môi trường JAVA_HOME thành thư mục JDK, đảm bảo rằng nó không đến "\ bin" và không có dấu chấm phẩy ";" .

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

Làm thế nào tôi hiểu nó là:

Ứng dụng hoạt động tốt trong Eclipse khi Thư viện hệ thống JRE đã đề cập đến JRE bên trong thư mục JDK thay vì thư mục JRE bên ngoài mà không có JDK. [Như đã giải thích rất tốt trong các câu trả lời khác]

Cấu hình này không áp dụng cho lệnh maven mà chúng tôi chạy trên dấu nhắc lệnh. Nó vẫn sẽ tìm biến JAVA_HOME để truy cập thư viện JRE System và khi không tìm thấy, nó đề cập đến thư mục JRE bên ngoài mà không cần JDK.


6

Có một số tùy chọn để chỉ định.

Các bước: Ngay trên dự án trong trình thám hiểm dự án Đi đến Chạy-> Chạy cấu hình -> Nhấp vào Maven Build -> Nhấp vào cấu hình bản dựng của bạn / hoặc tạo cấu hình mới. Bạn sẽ thấy cửa sổ như ảnh chụp nhanh đã cho bên dưới, nhấp vào tab JRE ở đó.

Bạn thấy bạn có 3 tùy chọn 1) Mặc định không gian làm việc JRE 2) Môi trường thực thi 3) JRE thay thế nhập mô tả hình ảnh ở đây 1) JRE mặc định của không gian làm việc được đặt từ menu 'Window' ở trên cùng -> Tùy chọn -> Java -> JREs đã cài đặt -Bạn có thể thêm jdk nhập mô tả hình ảnh ở đây 2) Môi trường thực thi jdk có thể được đặt trong pom.xml như được đề cập bởi @ksnortum

<build>
<plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <fork>true</fork>
            <executable>C:\Program Files\Java\jdk1.7.0_45\bin\javac.exe</executable>
        </configuration>
    </plugin>
</plugins>

3) JRE thay thế có thể được sử dụng để chọn jdk từ thư mục của bạn


5

Đối với tôi, JRE nằm trong biến môi trường PATH trước đường dẫn JDK

  1. C: \ ProgramData \ Oracle \ Java \ javapath
  2. C: \ env \ jdk1.8.0_151 \ bin

Vì vậy, tôi đã loại bỏ 1. Có lẽ trao đổi họ cũng sẽ sửa nó.


5

Câu trả lời của tôi liên quan đến Eclipse trong môi trường Windows.

Tôi đã đi đến Tùy chọn -> Java -> Các JRE đã cài đặt Tôi KHÔNG thấy JDK ở đây. Tôi chỉ thấy JRE ở đây. Vì vậy, tôi đã thêm JDK và sau đó bỏ chọn JRE. Sau đó kiểm tra JDK. Sau đó, tôi chạy tệp POM bằng Run Cấu hình. Chọn tab JRE và chọn tùy chọn "Mặc định không gian làm việc ..." Dưới đây là hình ảnh

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

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


5

Báo cáo vấn đề = Không có trình biên dịch được cung cấp trong môi trường này. Có lẽ bạn đang chạy trên JRE chứ không phải JDK? intellij

Giải pháp

Vui lòng đặt Biến đổi môi trường như bên dưới để giải quyết vấn đề

Tên biến : JAVA_HOME

Giá trị biến : C: \ Tệp chương trình \ Java \ jdk1.8.0_202

Tên biến : M2_HOME

Giá trị biến : C: \ Tệp chương trình \ apache-maven-3.6.0

Hơn nữa , Thêm đường dẫn Java và maven trong " Biến hệ thống " như bên dưới:

  1. C: \ Tệp chương trình \ Java \ jdk1.8.0_202 \ bin

  2. C: \ Tệp chương trình \ apache-maven-3.6.0 \ bin


3

Có một câu trả lời khả dĩ khác cho câu hỏi này và tôi có thể là người duy nhất đủ dại dột để vấp phải điều này, nhưng tôi nghĩ rằng nó đáng để thêm vào, vì không có câu trả lời nào khác được áp dụng vì tôi đã cài đặt đúng những điều đó.

Khi bạn cài đặt JDK, trình cài đặt sẽ hỏi bạn nơi bạn muốn cài đặt các tệp. Theo mặc định, trên Windows, đây là một cái gì đó giống như C: \ Program Files \ Java \ jdk1.8.0_74 (hoặc bất kỳ phiên bản nào bạn đang cài đặt).

Sau đó, nó yêu cầu bạn cho một thư mục để cài đặt JRE, theo mặc định là một cái gì đó giống như C: \ Program Files \ Java \ jre1.8.0_74.

Lưu ý rằng một là jdk 1.8.0_74 và cái còn lại là jre 1.8.0_74

Tôi đã vội vã làm mọi thứ và nghĩ rằng trình cài đặt đã hỏi tôi cùng một câu hỏi hai lần, đặt cả hai vị trí cài đặt JDK và JRE của tôi thành D: \ devtools \ jdk \ jdk1.8.0_74, dẫn đến trình cài đặt ghi đè lên JDK bằng JRE. Điều này dẫn đến (trong số những thứ khác) một javac.exe bị thiếu trong thùng JDK của tôi và lỗi tương tự mà OP đã báo cáo ở đây trong tất cả các bản dựng maven của tôi.


3

Tôi có một giải pháp.

Giải pháp phổ biến nhất cho vấn đề này là thay đổi vị trí jdk dưới dạng JRE đã cài đặt của tôi thay vì vị trí JRE nhưng điều đó không giải quyết được vấn đề của tôi lần này.

Vì vậy, tôi đã làm dưới đây để giải quyết vấn đề. Mở rộng tab JREs đã cài đặt và bạn sẽ tìm thấy tab Môi trường thực thi .

Bấm vào môi trường thực thi yêu thích của bạn. Trong trường hợp của tôi, đó là JAVASE-1.8 . Ở đó nó hiển thị 2 tùy chọn. JDK và JRE . Chọn JDK ở đó và vấn đề được giải quyết.

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


2

Tôi chỉ lãng phí 3 giờ với vấn đề này cho đến khi tôi xoay sở để làm cho nó hoạt động. Tôi đã gặp lỗi này trong Terminal Eclipse khi ban hành lệnh biên dịch mvn:

Không có trình biên dịch được cung cấp trong môi trường này. Có lẽ bạn đang chạy trên JRE chứ không phải JDK?

Vì vậy, tôi đọc ở đây rằng tôi phải tạo một biến hệ thống mới gọi là JAVA_HOME và làm cho nó hướng tới thư mục cài đặt jdk. Tuy nhiên, điều này tạo ra một lỗi khác:

Tùy chọn nguồn 1.5 không còn được hỗ trợ. Sử dụng 1.6 trở lên

Không thể tìm thấy bản sửa lỗi cho cái này nên ...

Vì vậy, cách khắc phục để làm cho tất cả biến mất là cài đặt Java SE Development Kit 8! Tôi đã sử dụng 9 suy nghĩ rằng nếu nó là mới nhất thì nó phải tốt hơn ...

Dù sao...

  1. Gỡ cài đặt tất cả các phiên bản java khỏi máy tính của bạn
  2. Cài đặt JDK8 từ đây: http://www.oracle.com/technetwork/java/javase/doads/jdk8-doads-2133151.html

  3. Sau đó, xác định giá trị môi trường của hệ thống JAVA_HOME - hướng dẫn tại đây: https://docs.oracle.com/cd/E19509-01/820-3208/inst_cli_jdk_javahome_t/

  4. Khởi động lại Eclipse và tận hưởng! (ít nhất đó là những gì tôi đã làm)

Hy vọng điều này sẽ tránh được một số kẻ lang thang tội nghiệp.


2

Trong trường hợp của tôi, tôi có đường dẫn biến hệ thống có vị trí "C: \ ProgramData \ Oracle \ Java \ javapath".

Trong java vị trí "C: \ ProgramData \ Oracle \ Java \ javapath", javaw chỉ có ở đó. Vì vậy, tôi đang nhận được cùng một lỗi.

Khi tôi xóa tất cả các tệp trong thư mục "C: \ ProgramData \ Oracle \ Java \ javapath", lỗi của tôi đã được giải quyết.


2

Tôi đã thử hầu hết các câu trả lời mà không thành công. Điều làm việc cho tôi là (sau khi theo dõi https://stackoverflow.com/a/21279068/2408893 ):

  • nhấp chuột phải vào dự án -> Thuộc tính
  • chọn Đường dẫn xây dựng Java
  • chọn Thư viện hệ thống JRE
  • nhấp vào chỉnh sửa
  • Trong môi trường thực thi, chọn một jdk

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

  • nhấp vào Kết thúc
  • xây dựng và chạy

2

Mặc dù câu hỏi là về lỗi với Eclipsethiết lập nhưng nghĩ rằng một câu trả lời về việc sửa lỗi này IntelliJvà thiết lập Windows 10 cũng có thể hữu ích ở đây.

1 . Chuyển đến File-> Settings-> Build, Execution, Deployment-> Build Tools-> Maven->Importing

2 . Đặt JDKcho Importernhư hiển thị bên dưới đểJAVA_HOME

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

Cũng thế JAVA_HOME nên được đặt thành JDKđường dẫn tại Biến môi trường -> Biến hệ thống và cũng thêm %JAVA_HOME%\binvào biến Hệ thống đường dẫn


1

Tôi gặp phải vấn đề tương tự, lỗi tôi mắc phải là tôi chỉ thêm đường dẫn jre vào đường dẫn var, không phải đường dẫn jdk. Khi đường dẫn jdk được thêm vào đường dẫn và xây dựng dự án maven hoạt động hoàn hảo. Cảm ơn tất cả


1

Tôi đã làm thay đổi sau đây và nó đã làm việc cho tôi. Hy vọng nó sẽ giúp được ai đó.nhập mô tả hình ảnh ở đây


1

Thử cái này.

<build>
...
    <plugins>
    ...
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <fork>true</fork>
                <executable> path to jdk \bin\javac.exe</executable>
            </configuration>
        </plugin>
    </plugins>
</build>


1

Tôi đã gặp lỗi tương tự khi tôi tạo một phiên bản EC2 ub Ubuntu 16.04 mới với Java đã được cài đặt trên nó và trong khi chạy gói mvn sạch, tôi đã gặp phải vấn đề này và giải pháp bên dưới hoạt động với tôi.

Nếu bạn đang làm việc trên máy chủ Ubuntu, thì bạn có thể thử cài đặt lại Java và bạn có thể sử dụng câu trả lời này Cách cài đặt JDK trên Ubuntu Linux


1

Trong Windows 7 - 64 bit, có một vấn đề về quyền ngăn trình cài đặt giải nén tệp C: \ Program Files \ Java \ jdk1.6.xx \ lib \ tools.jar vào cục bộ của bạn. Tệp jar này là những gì maven-Trình biên dịch-plugin phiên bản 3.x sử dụng thay vì javac thông thường

Giải pháp: Chạy, với tư cách quản trị viên, trình cài đặt Java JDK! Và đảm bảo rằng tools.jar đang ngồi trong C: \ Program Files \ Java \ jdk1.6.xx \ lib \

Trong trường hợp bạn đang sử dụng plugin tích hợp m2e maven, bạn muốn xem tệp được hiển thị với Eclipse thông qua các bước sau trong Eclipse:

Vào Window -> Preferences -> Java -> JRE cùng cài đặt Chọn JDK bạn đang sử dụng (C: \ Program Files \ Java \ jdk1.6.xx) Nhấn Edit để xem danh sách các lọ bao gồm tools.jar, hoặc bạn có thể thêm nó dưới dạng Thêm JAR bên ngoài Sau đó cấu hình maven chạy qua các bước sau:

Chạy-> Chạy cấu hình-> Điền vào Tên, thư mục cơ sở và Mục tiêu. Sau đó, trong cùng một cửa sổ di chuyển đến tab JRE và trỏ đến JDK \ jdk1.6.xx \


0

Ngoài câu trả lời ở trên, tôi có thể nói rằng chỉ cần thử chạy Maven từ thiết bị đầu cuối (bên ngoài Eclipse). Theo cách này, nếu nó được xây dựng từ bên ngoài nhưng không có trong Eclipse, bạn có thể hiểu rằng vấn đề phải nằm ở Eclipse.


0

Có một số câu trả lời liên quan đến câu hỏi này nhưng tất cả đều liên quan đến cấu hình đường dẫn đúng của JDK, nhưng với JRE chỉ chúng ta có thể giải quyết vấn đề này.

Chúng ta chỉ cần sử dụng tập hợp triển khai để định cấu hình đường dẫn của tệp chiến tranh được đóng gói của Dự án Java EE và sau đó chạy lại cài đặt maven.

Các bước để sử dụng lắp ráp triển khai:

  1. Nhấp chuột phải vào dự án Jave EE -> nhấp vào Thuộc tính -> nhấp vào Triển khai hội

  2. Nhấp vào nút Thêm -> Nhấp vào Lưu trữ từ Hệ thống tệp -> Nhấp vào tiếp theo -> Nhấp vào Thêm -> Chuyển đến thư mục .m2 \ resp repository và tìm kiếm tệp chiến tranh được tạo -> Chọn tệp chiến tranh -> Nhấp vào nút Mở -> Nhấp vào Áp dụng -> OK

  3. Nhấp chuột phải vào dự án -> Nhấp vào Maven Cài đặt trong Run As

Điều này sẽ xây dựng dự án của bạn thành công, không có bất kỳ lỗi biên dịch.

Hy vọng điều này sẽ giải quyết vấn đề mà không cần JDK.

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.