Tôi đang biên dịch một dự án trong Eclipse bằng m2eclipse. Tôi đặt đường dẫn JDK trong Eclipse như sau:
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?
Ngoài ra, bạn có thể phải thay đổi Maven JRE (xem câu trả lời @ jlars62) như sau. Goto Run -> Run Configurations, chọn Maven Build mà tôi đang chạy (từ bảng điều khiển bên trái). Sau đó, tôi nhấp vào tab JRE và chọn tùy chọn JRE mặc định của Workspace
Đối với tôi, nó chính xác là những gì maven of eclipse phàn nàn
Vì vậy, tôi nhấn Edit
nút và thay đổi đường dẫn đến Thư mục JDK, sau đó dự án sạch và mọi thứ bắt đầu hoạt động
JAVA_HOME
biến môi trường vào thư mục gốc JDK - bắt buộc nếu bạn chạy dòng lệnh hoặc maven ( mvn
).
JAVA_HOME
để biết thêm thông tin)Đố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 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, không phải JDK. Không có gì tôi đã làm thay đổi điều này, bao gồm cả việc thêm điều này 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 được mẹo.
Trong trường hợp của tôi, nó đã được giải quyết bằng cách thực hiện điều này:
Đi tới '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.
Tôi đã sao chép câu trả lời đề phòng nó bị xóa vì lý do nào đó, nhưng nguồn ở đây
Tôi đã gặp lỗi này khi cố gắng tạo maven từ trong eclipse.
Đối với tôi, câu trả lời là Run
-> Run Configurations
, chọn Maven Build
Tôi đang chạy (từ bảng điều khiển bên trái). Sau đó, tôi nhấp vào JRE
tab và chọn tùy chọnWorkspace default JRE
Đi tới windows -> Preferences -> Java -> Installed JREs
có thể jre đã được thêm vào
nhấp vào Add -> Standard VM -> Next -> Directory
và duyệt tìm JDK trong đường dẫn trường hợp của tôi là C:\Program Files\Java\jdk1.8.0_111
sau đó Nhấp vào kết thúc.
bạn sẽ thấy cửa sổ như thế này
chọn JDK -> Áp dụng -> Ok
Và bạn đã hoàn thành.
Tôi gặp vấn đề tương tự và tôi chỉ thêm JAVA_HOME
vào các biến môi trường .
JAVA_HOME
dấ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).Tuy nhiên, tôi đã thử tất cả các cách trê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 làm Thư viện Hệ thống JRE trong đường dẫn xây dựng dành riêng cho dự án, điều này rõ ràng đã ghi đè tất cả các cài đặt khác được thảo luận ở đây.
Nếu đúng như vậy trong trường hợp của bạn, hãy thử cách sau:
Một giải pháp thay thế nếu câu trả lời của jaipster không hoạt động là đi tới:
Window> Preferences> Java> Installed JREs
Sau đó, chỉnh sửa jre để nó trỏ đến jdk chứ không phải jre (nhà jre được nộp trong trình chỉnh sửa gói jre)
Điều đó đã làm việc cho tôi.
Nếu bạn đang chạy Maven
lệnh from cmd
, hãy đảm bảo rằng 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 .bat
tệp có chứa thông tin sau:
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
start cmd.exe /k "cd c:\aem_proj\sis\aau"
Tôi gặp phải vấn đề tương tự khi cố gắng tạo 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 khi chạy từ Eclipse.
Vấn đề thực sự là 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 ";" .
Tôi hiểu nó như thế nào là:
Ứng dụng hoạt động tốt trong Eclipse vì 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 rõ 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 kiếm biến JAVA_HOME để truy cập vào thư viện Hệ thống JRE và khi không tìm thấy nó sẽ tham chiếu đến thư mục JRE bên ngoài mà không có JDK.
Câu trả lời của tôi liên quan đến Eclipse trong môi trường Windows.
Tôi đã đi tới Tùy chọn -> Java -> 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 cách sử dụng Cấu hình Chạy. Chọn tab JRE và chọn tùy chọn "Workspace Default ..." Đây là những hình ảnh
Câu lệnh sự cố = Không có trình biên dịch nào được cung cấp trong môi trường này. Có lẽ bạn đang chạy trên JRE hơn là JDK? intellij
Giải pháp
Vui lòng đặt biến thể Môi trường e như bên dưới để giải quyết vấn đề
Tên biến : JAVA_HOME
Giá trị biến : C: \ Program Files \ Java \ jdk1.8.0_202
Tên biến : M2_HOME
Giá trị biến : C: \ Program Files \ apache-maven-3.6.0
Hơn nữa , Thêm Java và đường dẫn maven trong " Biến hệ thống " như bên dưới:
C: \ Program Files \ Java \ jdk1.8.0_202 \ bin
C: \ Program Files \ apache-maven-3.6.0 \ bin
Có một số tùy chọn để chỉ định.
Các bước thực hiện: Ngay trên dự án trong trình khám phá dự án Vào Run-> Run Configuration -> 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 một cấu hình mới. Bạn sẽ thấy cửa sổ như hình bên dưới, nhấp vào tab JRE ở đó.
Bạn thấy bạn có 3 tùy chọn 1) Không gian làm việc JRE mặc định 2) Môi trường thực thi 3) JRE thay thế
1) Không gian làm việc JRE mặc định được đặt từ menu 'Cửa sổ' ở trên cùng -> Tùy chọn -> Java -> JRE đã cài đặt - Bạn có thể thêm jdk
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
Đối với tôi, JRE nằm trong biến môi trường PATH trước đường dẫn JDK
Vì vậy, tôi đã loại bỏ 1. Có lẽ hoán đổi chúng cũng sẽ sửa được.
Mặc dù câu hỏi là về lỗi Eclipse
thiết lập nhưng tôi nghĩ rằng câu trả lời về cách khắc phục lỗi này với IntelliJ
và thiết lập Windows 10 cũng có thể hữu ích ở đây.
1 . Đi tới File
-> Settings
-> Build, Execution, Deployment
-> Build Tools
-> Maven
->Importing
2 . Đặt JDK
cho Importer
như hình dưới đây thànhJAVA_HOME
Cũng 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%\bin
vào biến Hệ thống đường dẫn
Có một câu trả lời khả thi khác cho câu hỏi này và tôi có thể là người duy nhất đủ ngu ngốc để vấp phải điều này, nhưng tôi nghĩ nó đáng để thêm vào, vì không có câu trả lời nào khác áp dụng vì tôi đã có những cài đặt đó chính xác.
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 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 cung cấp một thư mục để cài đặt JRE, theo mặc định là thư mục giống như C: \ Program Files \ Java \ jre1.8.0_74.
Lưu ý rằng một cái là jdk 1.8.0_74 và cái kia là jre 1.8.0_74
Tôi đang gấp rút mọi thứ và nghĩ rằng trình cài đặt đang hỏi tôi cùng một câu hỏi hai lần, hãy đặt cả vị trí cài đặt JDK và JRE của tôi thành D: \ devtools \ jdk \ jdk1.8.0_74, dẫn đến việc trình cài đặt ghi đè JDK bằng JRE. Điều này dẫn đến (trong số những thứ khác) thiếu javac.exe trong bin JDK của tôi và cùng một lỗi mà OP đã báo cáo ở đây trong tất cả các bản dựng maven của tôi.
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 làm 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 JRE đã cài đặt và bạn sẽ tìm thấy tab Môi trường thực thi .
Nhấp 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.
Tôi chỉ lãng phí 3 giờ với vấn đề này cho đến khi tôi cố gắng làm cho nó hoạt động. Tôi đã gặp lỗi này trong Eclipse Terminal khi phát hành lệnh biên dịch mvn:
Không có trình biên dịch nào được cung cấp trong môi trường này. Có lẽ bạn đang chạy trên JRE hơn là 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 có tên là JAVA_HOME và làm cho nó trỏ 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 vấn đề 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 đang sử dụng số 9 nghĩ rằng nếu là phiên bản mới nhất thì nó phải tốt hơn ...
Dù sao...
Cài đặt JDK8 từ đây: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Sau đó, xác định giá trị môi trường 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/
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ẽ giúp một kẻ lang thang tội nghiệp gặp rắc rối nào đó.
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 "C: \ ProgramData \ Oracle \ Java \ javapath" vị trí java, chỉ có javaw ở đó. Vì vậy, tôi 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.
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 ):
tôi cũng gặp phải vấn đề tương tự, sai lầm mà 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, nó hoạt động hoàn hảo. Cảm ơn tất cả
Tôi đã thực hiện thay đổi sau đây và nó phù hợp với tôi. Hy vọng nó sẽ giúp ích cho ai đó.
Thử đi.
<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>
Thêm định nghĩa JRE mới (chọn đường dẫn JDK), phù hợp với tôi.
Tôi đã gặp lỗi tương tự khi tạo phiên bản EC2 ubuntu 16.04 mới với Java đã được cài đặt trên đó và trong khi chạy gói sạch mvn, tôi gặp phải sự cố này và giải pháp dưới đây đã phù hợp 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
Trong Windows 7 - 64 bit, có một vấn đề về quyền khiến trình cài đặt không thể 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à thứ mà maven-compiler-plugin phiên bản 3.x sử dụng thay vì javac thông thường
Giải pháp: Chạy trình cài đặt Java JDK với tư cách là quản trị viên! Và đảm bảo rằng tools.jar đang ở 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 qua các bước sau bên trong Eclipse:
Đi tới Window -> Preferences -> Java -> JREs đã 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 đó định 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 \
Ngoài câu trả lời ở trên, tôi có thể nói rằng chỉ cần cố gắng chạy Maven từ thiết bị đầu cuối (bên ngoài Eclipse). Theo cách này, nếu nó xây dựng từ bên ngoài nhưng không phải trong Eclipse, bạn có thể hiểu rằng vấn đề phải nằm trong Eclipse.
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 bên phải của JDK, nhưng với JRE chỉ có chúng tôi mới có thể giải quyết vấn đề này.
Chúng ta chỉ cần sử dụng lắp rá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 maven-install.
Các bước để sử dụng lắp ráp triển khai:
Nhấp chuột phải vào dự án Jave EE -> nhấp vào Thuộc tính -> nhấp vào Lắp ráp triển khai
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 \ respository và tìm kiếm tệp chiến tranh đã tạo -> Chọn tệp chiến tranh -> Nhấp vào nút Mở -> Nhấp vào Áp dụng -> OK
Nhấp chuột phải vào dự án -> Nhấp vào Cài đặt Maven trong Chạy dưới dạng
Điều này sẽ xây dựng dự án của bạn thành công mà không có bất kỳ lỗi trình biên dịch nào.
Hy vọng điều này giải quyết vấn đề mà không có JDK.
Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.
Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?
Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.
Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.
The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!
Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.
Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?
Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.
Màn hình Samsung Galaxy S9 Plus. Chủ nhật này là Ngày của Cha — trong trường hợp nó khiến bạn suy nghĩ — và thay vì mua cho anh ấy một chiếc cà vạt trong năm nay, có lẽ đã đến lúc bạn mua cho anh ấy thứ mà anh ấy sẽ thực sự sử dụng.
Monster Hunter: World yêu thích các sự kiện chéo. Dù có nghĩa là hóa trang thành Dante của Devil May Cry, giả dạng Horizon: Zero Dawn's Aloy, hay chiến đấu với quái vật Final Fantasy, các nhiệm vụ sự kiện khác nhau của Thế giới được nâng cấp tự do so với các trò chơi khác.
Storm Reid, Oprah Winfrey, Mindy Kaling, Reese Witherspoon và Ava DuVernay tại buổi chiếu đặc biệt của A Wrinkle in Time tại Nhà hát Walter Reade ở Thành phố New York vào ngày 7 tháng 3 năm 2018 “Ava rất mong được nói chuyện với bạn,” một trong những người của Array dư luận viên nói qua điện thoại. (Array là tập thể phân phối, nghệ thuật và vận động chính sách của Ava DuVernay tập trung vào các bộ phim của người da màu và phụ nữ.
Mission Impossible: Rogue Nation bắt đầu ở một cấp độ khác. Theo nghĩa đen.
McCain, người đang làm việc cho một album mới, lần đầu tiên bước vào vòng kết nối vào tối thứ Sáu ở Nashville
Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!
Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!
Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không
Đối với tôi, mọi thứ là về dòng đầu tiên đó và nó sẽ đưa bạn đến đâu. Một số nhà văn bị điều khiển bởi cốt truyện, sự sắp xếp tinh tế của các quân cờ, trong khi những người khác bị lôi cuốn bởi một nhân vật và khả năng thực hiện một cuộc hành trình với một người bạn hư cấu mới.
Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.
Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.
Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.