ไม่มีการรวบรวมในสภาพแวดล้อมนี้ บางทีคุณกำลังใช้งาน JRE มากกว่า JDK


633

ฉันกำลังรวบรวมโครงการใน Eclipse โดยใช้ m2eclipse ฉันตั้งค่าเส้นทาง JDK ใน Eclipse ดังนี้:

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

แต่นี่แสดงข้อผิดพลาด

[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
คุณเริ่มคอมไพล์ได้อย่างไร บรรทัดคำสั่ง? เครื่องมือ Eclipse
Joeri Hendrickx

จากเครื่องมือ eclipse เรียกใช้การกำหนดค่า -> เป้าหมาย: ติดตั้งใหม่ทั้งหมด
Sai prateek

เป็นไปได้ที่ซ้ำกันของข้อผิดพลาด Maven Package Compilation
mlt

7
เฮ้ข้อผิดพลาดนี้เกิดขึ้นเพราะ Maven พยายามรับ JDK แต่ในคราสมันชี้ไปที่ JRE คุณสามารถเปลี่ยนเส้นทางไปยัง JDK และมันจะทำงาน ตรวจสอบด้านล่างโพสต์ซึ่งจะช่วยให้คุณเรียนรู้ -automation.com/ /
Mukesh otwani

ฉันกำลังโพสต์ลิงค์นี้เพื่อให้บางคนในอนาคตอาจได้รับประโยชน์เช่นเดียวกับฉัน stackoverflow.com/a/33873838/4525120
Divine

คำตอบ:


983
  1. บน Eclipse IDE ของคุณไปลงในหน้าต่าง > การตั้งค่า > Java > JREs ติดตั้ง > และตรวจสอบของคุณJREs ติดตั้ง คุณควรมีรายการด้วย JDK ที่นั่น
  2. เลือก Execution Env ดังแสดงด้านล่าง คลิกตกลง
  3. จากนั้นคลิกขวาที่โครงการของคุณ -> Maven -> อัปเดตโครงการ

นอกจากนี้คุณอาจต้องเปลี่ยน Maven JRE (ดู @ jlars62 คำตอบ) ซึ่งมีดังนี้ ไปที่ Run -> Run Configurations เลือก Maven Build I ที่กำลังทำงานอยู่ (จากแผงด้านซ้าย) จากนั้นฉันคลิกแท็บ JRE และเลือกตัวเลือก JREET เวิร์กสเปซเริ่มต้น

ป้อนคำอธิบายรูปภาพที่นี่


15
@jaipster ฉันพยายามทำเช่นนี้ แต่ฉันหา jdk ไม่พบในแผงด้านซ้ายฉันเห็น jre7 เท่านั้น คุณรู้ไหมว่าทำไม?
diyoda_

4
อาจเป็นได้ว่าคุณไม่ได้ติดตั้ง jdk7 บนเครื่องของคุณหรือไม่ได้กำหนดค่าใน eclipse คุณช่วยยืนยันได้ไหม
jaipster

52
@Diode ฉันมีปัญหาเดียวกัน ฉันไปที่ "ติดตั้ง JREs" และคลิก "เพิ่ม ... " จากนั้นฉันเรียกดูไปที่ C: \ Program Files \ Java \ jdk1.7.0_XX แล้วเลือก jre ตาม jaipster ที่อธิบายไว้
jlunavtgrad

7
สำหรับฉันมันก็เพียงพอแล้วที่จะเพิ่ม JDK ไปยังรายการ "JREs ที่ติดตั้ง" (ไม่ใช่การตั้งชื่อที่ดีที่สุด ... ) และทำเครื่องหมายในช่องทำเครื่องหมายข้างรายการ JDK ใหม่ทำให้เป็น VM เริ่มต้น
Tom Fink

7
ฉันคลิกปุ่ม "ค้นหา" ในเมนู "ติดตั้ง JREs" Eclipse ค้นหาไดรฟ์ที่ฉันชี้ไปแล้วออกมาพร้อมกับ JREs และ JDK ที่ติดตั้งไว้ทั้งหมด
มิตราบอย

141

สำหรับฉันมันเป็นสิ่งที่ Maven ของคราสบ่น

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นฉันกดEditปุ่มและเปลี่ยนเส้นทางไปยังโฟลเดอร์ JDK จากนั้นทำความสะอาดโครงการและทุกอย่างเริ่มทำงาน


3
ฉันอยากจะแนะนำให้เพิ่ม JRE โดยใช้ปุ่ม "เพิ่ม" จากนั้นจัดการรายการ JRE ให้เป็นรายการ JDK! และหลังจากเพิ่ม JDK ให้คลิกช่องทำเครื่องหมายข้างรายการ JDK นี่ควรแก้ปัญหาที่อธิบายไว้ในโพสต์นี้แล้ว
Tom Fink

3
มันแปลก . เพราะตามชื่อของไดอะล็อกแสดงสิ่งนี้ควรวางInstalled JREsแทนโฟลเดอร์ jdk แต่มันแก้ไขปัญหาของฉันได้จริงๆ ขอบคุณ
Joe.wang

มันกำจัดชื่อเรื่องที่ติดตั้ง JREs แต่เส้นทางเป็น JDK แต่มันก็ใช้งานได้ขอบคุณ
Abhijit Chakra

เป็นความคิดที่ดีที่จะลบ JRE หลังจากเพิ่ม JDK บางครั้ง Eclipse ยังคงใช้ JRE อยู่โดยไม่คำนึงว่าจะเกิดอะไรขึ้น การทำให้ JDK เป็นตัวเลือกที่ใช้ได้เท่านั้นจะช่วยได้ :)
leftbit

128
  1. ตั้งค่าJAVA_HOMEตัวแปรสภาพแวดล้อมเป็นโฟลเดอร์รูท JDK - จำเป็นต้องใช้หากคุณเรียกใช้บรรทัดคำสั่งหรือ maven ( mvn)
    • (ค้นหา google สำหรับJAVA_HOMEข้อมูลเพิ่มเติม)
  2. ในคุณสมบัติโปรเจ็กต์ในส่วน Java Compiler เลือก JDK ที่ต้องการ - หากคุณรันโดยตรงจาก eclipse

ทำไมต้องมีขั้นตอนที่ 1
ดันแคนโจนส์

2
@DuncanJones จำเป็นต้องมีก่อนหากคุณเรียกใช้ command line หรือ maven (google สำหรับตัวแปรนี้) ที่สอง - ถ้าคุณเรียกใช้โดยตรงจาก eclipse
msangel

1
ฉันจะเพิ่มข้อมูลนั้นในคำตอบของคุณ มิฉะนั้นจะแนะนำให้ทั้งสองอย่างมีความจำเป็นในทุกกรณี
ดันแคนโจนส์

10
ให้ความสนใจว่า JAVA_HOME ไม่ได้ลงท้ายด้วย "bin" แต่ชี้ไปที่รูทของ JDK
koppor

ต้องการสิ่งนี้สำหรับ release-plugin เนื่องจากไม่ได้ใช้การตั้งค่า jre จาก eclipse (ด้วยการติดตั้ง maven ภายนอก) ...
Rob

124

สำหรับฉันไม่มีอะไรทำงานจนกว่าฉันจะทำการเปลี่ยนแปลงกับ pom.xml ของฉัน:

<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>

หมายเหตุอื่น ๆ

ฉันเห็นว่า m2e กำลังเรียกใช้งานใน JRE ไม่ใช่ JDK ไม่มีอะไรที่ฉันเปลี่ยนแปลงสิ่งนี้รวมถึงการเพิ่มลงใน eclipse.ini:

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

ในที่สุดฉันไม่เคยมี m2e ที่จะดำเนินการใน JDK แต่การตั้งค่าคอมไพเลอร์ Java อย่างชัดเจน (ดังกล่าวข้างต้น) ได้หลอกลวง


10
โซลูชันนี้ควรนำมาใช้เป็นทางเลือกสุดท้ายเนื่องจากโครงการนี้ได้รับการแก้ไขเพื่อให้เข้ากับเครื่อง dev ปัจจุบันของคุณ
นักแข่ง Xtreme Biker

@ksnortum ขอบคุณ! นี่เป็นสิ่งเดียวที่ทำให้มันใช้ได้สำหรับฉัน
Antony Fuentes Artavia

แล้วลินุกซ์กับคนที่นี่ล่ะ?
logicbloke

ฉันคิดว่ามันเหมือนกันยกเว้นไฟล์ที่เรียกใช้งานจะเป็น / path / to / java / bin / javac อาจลองใช้ 'ซึ่ง java` เพื่อค้นหาเส้นทาง Java ของคุณ
ksnortum

41

ในกรณีของฉันมันถูกแก้ไขโดยทำสิ่งนี้:

ไปที่ 'การกำหนดค่ารันไทม์' ของคุณและกำหนดค่า JRE ของคุณเป็น JDK

เลือก JDK ที่เหมาะสมสำหรับ Runtime ของคุณ

เลือก JRE เริ่มต้น

ฉันคัดลอกคำตอบในกรณีที่มันถูกลบด้วยเหตุผลบางอย่าง แต่แหล่งที่มาอยู่ที่นี่


สิ่งนี้ใช้ได้สำหรับฉัน หาก JDK ไม่แสดงในดร็อปดาวน์ JRE สำรองดังนั้นคุณต้องเพิ่ม JRE ที่ติดตั้งไว้ (นำทางไปยังโฟลเดอร์ที่ติดตั้ง JDK) และเลือกโฟลเดอร์ JDK
Atul

นี่เป็นปัญหาของฉันขอบคุณสำหรับคำตอบของคุณที่ได้รับการแก้ไข
Amr Afifi

38

ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามสร้าง maven จากภายใน eclipse

สำหรับฉันคำตอบคือRun-> Run ConfigurationsเลือกMaven Buildฉันกำลังวิ่ง (จากแผงด้านซ้าย) จากนั้นฉันคลิกJREแท็บและเลือกตัวเลือกWorkspace default JRE


1
ดูเหมือนว่าจำเป็นที่จะต้องตรวจสอบเพิ่มเติมจากคำตอบที่เลือกด้านบน
nsandersen

1
ฉันชอบวิธีนี้ดีกว่าเพราะมันไม่ได้ทำให้คุณเปลี่ยนรุ่นจาวาเริ่มต้นสำหรับโครงการอื่น ๆ
Gonen ฉัน

30

ไปที่ windows -> Preferences -> Java -> JREs ที่ติดตั้ง

อาจจะเพิ่ม jre แล้ว ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่เพิ่ม -> VM มาตรฐาน -> ถัดไป -> ไดเรกทอรี

และค้นหา JDK ในเส้นทางกรณีของฉันคือ C:\Program Files\Java\jdk1.8.0_111

จากนั้นคลิกที่เสร็จสิ้น

คุณจะเห็นหน้าต่างแบบนี้ป้อนคำอธิบายรูปภาพที่นี่

เลือก JDK -> ใช้ -> ตกลง

และคุณทำเสร็จแล้ว


1
ขอขอบคุณที่แบ่งปันเส้นทาง JDK ดูเหมือนว่าผู้คนสามารถเลือกตัวเลือกอื่นเพื่อคลิก JDK เมื่อฉันแสดง JRE ตั้งแต่ต้นเท่านั้น ฉันเพิ่ม JDK จากเส้นทางที่คุณให้ไว้
หนุ่ม Choung

19

ผมได้รับปัญหาเดียวกันและฉันเพียงแค่เพิ่มJAVA_HOMEการตัวแปรสภาพแวดล้อม

env var

  • หากคุณกำลังใช้ eclipse เพียงอ้างถึงhttps://stackoverflow.com/a/21279068/6097074
  • หากคุณกำลังใช้งาน Intellij หลังจากเพิ่มJAVA_HOMEคำสั่งเปิดพร้อมรับคำสั่งจากไดเรกทอรีโครงการและเรียกใช้mvn clean install(อย่าใช้เทอร์มินัล Intellij)

14

ฉันได้ลองข้างต้นทั้งหมดแล้ว แต่ยังคงได้รับข้อความแสดงข้อผิดพลาดเดียวกัน

ในกรณีของฉันมีการใช้ JRE จริงอย่างไม่ถูกต้องเป็นไลบรารีระบบ JRE ในเส้นทางการสร้างเฉพาะโครงการซึ่งเห็นได้ชัดว่าแทนที่การตั้งค่าอื่น ๆ

หากเป็นเช่นนั้นในกรณีของคุณลองต่อไปนี้:

  1. เปิดไลบรารีเฉพาะโครงการของ Java Build Path: คลิกขวาที่ "Project> Build Path> กำหนดค่า Build Path ... " และเลือกแท็บ "Libraries"
  2. เลือกรายการ "JRE System Library" และกด "ลบ"
  3. กด "เพิ่มห้องสมุด ... "
  4. ตัวช่วยสร้างปรากฏขึ้น เลือก "JRE System Library" และกด "Next>"
  5. ตอนนี้เลือก JDK ที่ถูกต้อง (ในกรณีของฉัน "Workspace default JRE" ซึ่งฉันกำหนดค่าโดยใช้ JDK)
  6. ปิดตัวช่วยสร้างโดยกดปุ่ม "เสร็จสิ้น"
  7. ปิดกล่องโต้ตอบ "คุณสมบัติ" โดยกดปุ่ม "ตกลง"

1
ฉันได้ลองใช้ตัวเลือกทั้งหมดที่กล่าวถึงโดย @ishu แต่ยังคงได้รับ org.apache.maven.lifecycle.LifecycleExecutionException: ไม่สามารถดำเนินการเป้าหมาย org.apache.maven.plugins เป้าหมาย: maven-compiler-plugin: 3.1: คอมไพล์ (คอมไพล์เริ่มต้น) ในโครงการ hibernateTest1: การรวบรวมล้มเหลวจากนั้นฉันลองวิธีแก้ปัญหาของคุณ แต่ไม่มีการเปลี่ยนแปลงข้อผิดพลาด ... โปรดช่วยฉันด้วย
Namrata Choudhary

เพิ่ม<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>pom.xml ของคุณ
Alekya

11

อีกทางเลือกหนึ่งหากคำตอบของ jaipster ไม่ทำงานคือไปที่:
หน้าต่าง> ค่ากำหนด> Java> JRE ที่ติดตั้งไว้

จากนั้นแก้ไข jre เพื่อให้ชี้ไปที่ jdk และไม่ใช่ jre (jre โฮมยื่นในตัวแก้ไขแพ็คเกจ jre)

ที่ทำงานให้ฉัน


นั่นมันสำหรับฉัน ตลกคือบางครั้งฉันได้รับข้อผิดพลาดที่ JRE เริ่มต้นชี้ไปยัง JDK ผิดพลาด
Salsero69

ทำงานให้ฉันฉันต้องการทำ maven clean install compile
asifaftab87

10

หากคุณกำลังรันMavenคำสั่งcmdตรวจสอบให้แน่ใจว่าคุณตั้งค่าพา ธ jdk ก่อนที่จะรันคำสั่ง ในกรณีของฉันฉันได้สร้าง.batไฟล์ที่มีสิ่งต่อไปนี้:

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

8

ฉันประสบปัญหาเดียวกันขณะที่พยายามสร้างไฟล์ jar ของแอปพลิเคชันโครงการของฉันโดยใช้mvn clean installแม้ว่าแอปพลิเคชันทำงานได้ดีในขณะที่เรียกใช้จาก Eclipse

ปัญหาคือจริง ๆ ไร้เดียงสาเกินไปที่ฉันไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อมJAVA_HOME สิ่งที่ฉันต้องทำคือตั้งค่าตัวแปรสภาพแวดล้อม JAVA_HOME ไปยังไดเรกทอรี JDK ตรวจสอบให้แน่ใจว่าไม่ได้จนถึง"\ bin"และไม่มีเซมิโคลอน ";" .

ป้อนคำอธิบายรูปภาพที่นี่

ฉันเข้าใจได้อย่างไรว่ามันเป็น:

แอ็พพลิเคชันทำงานได้ดีใน Eclipse เนื่องจากJRE System Libraryอ้างถึง JRE ภายในโฟลเดอร์ JDK แทนที่จะเป็นโฟลเดอร์ JRE ภายนอกโดยไม่มี JDK [ตามที่อธิบายไว้เป็นอย่างดีในคำตอบอื่น ๆ ]

การกำหนดค่านี้ไม่ได้ใช้กับคำสั่งmavenที่เราเรียกใช้บนพรอมต์คำสั่ง มันจะยังคงค้นหาตัวแปร JAVA_HOME เพื่อเข้าถึงไลบรารี JRE System และเมื่อไม่พบมันจะอ้างถึงโฟลเดอร์ JRE ภายนอกโดยไม่มี JDK


6

มีหลายตัวเลือกในการระบุ

ขั้นตอน: ขวาบนโปรเจ็กต์ใน project explorer ไปที่ Run-> Run Configuration -> คลิก Maven Build -> คลิกที่ build build / หรือสร้าง config ใหม่ คุณจะเห็นหน้าต่างเป็นภาพรวมที่กำหนดด้านล่างคลิกที่แท็บ JRE ที่นั่น

คุณเห็นว่าคุณมี 3 ตัวเลือก 1) ค่าเริ่มต้นพื้นที่ทำงาน JRE 2) สภาพแวดล้อมการดำเนินการ 3) สำรอง JRE ป้อนคำอธิบายรูปภาพที่นี่ 1) ค่าเริ่มต้นพื้นที่ทำงาน JRE ถูกตั้งค่าจากเมนู 'หน้าต่าง' ด้านบน -> การตั้งค่า -> Java -> ติดตั้ง JREs - ที่นี่คุณสามารถเพิ่ม jdk ป้อนคำอธิบายรูปภาพที่นี่ 2) Execution Environment jdk สามารถตั้งค่าใน pom.xml ตามที่ระบุโดย @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 สำรองเพื่อเลือก jdk จากไดเรกทอรีของคุณ


5

สำหรับฉันแล้ว JRE อยู่ในตัวแปรสภาพแวดล้อม PATH ก่อนเส้นทาง JDK

  1. C: \ ProgramData \ ออราเคิล \ Java \ javapath
  2. C: \ env \ jdk1.8.0_151 \ bin

ดังนั้นฉันจึงลบ 1. การเปลี่ยนพวกมันน่าจะแก้ไขได้เช่นกัน


5

คำตอบของฉันเกี่ยวข้องกับ Eclipse ในสภาพแวดล้อม Windows

ฉันไปที่การตั้งค่า -> Java -> JRE ที่ติดตั้งฉันไม่เห็น JDK ในที่นี่ ฉันเห็น JRE ที่นี่เท่านั้น ดังนั้นฉันเพิ่ม JDK แล้วยกเลิกการเลือก JRE จากนั้นตรวจสอบ JDK จากนั้นฉันก็รันไฟล์ POM โดยใช้ Run Configurations เลือกแท็บ JRE และเลือกตัวเลือก "Default Workspace ... " นี่คือรูปภาพ

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


5

คำแถลงปัญหา = ไม่มีการรวบรวมในสภาพแวดล้อมนี้ บางทีคุณกำลังใช้งาน JRE มากกว่า JDK IntelliJ

สารละลาย

โปรดตั้งค่าตัวแปรสภาพแวดล้อมเช่นด้านล่างเพื่อแก้ปัญหา

ชื่อตัวแปร : JAVA_HOME

ค่าตัวแปร : C: \ Program Files \ Java \ jdk1.8.0_202

ชื่อตัวแปร : M2_HOME

ค่าตัวแปร : C: \ Program Files \ apache-maven-3.6.0

นอกจากนี้ยังเพิ่ม Java และเส้นทาง Maven ใน " ตัวแปรของระบบ " เช่นด้านล่าง:

  1. C: \ Program Files \ Java \ jdk1.8.0_202 \ bin

  2. C: \ Program Files \ apache-maven-3.6.0 \ bin


3

มีคำตอบอื่นที่เป็นไปได้สำหรับคำถามนี้และฉันอาจเป็นคนเดียวที่โง่พอที่จะสะดุดกับเรื่องนี้ แต่ฉันคิดว่ามันควรค่าแก่การเพิ่มเนื่องจากไม่มีคำตอบอื่นใดที่ใช้เพราะฉันตั้งค่าเหล่านั้นถูก

เมื่อคุณติดตั้ง JDK ตัวติดตั้งจะถามตำแหน่งที่คุณต้องการติดตั้งไฟล์ ตามค่าเริ่มต้นบน Windows นี่คือ C: \ Program Files \ Java \ jdk1.8.0_74 (หรือรุ่นที่คุณกำลังติดตั้ง)

จากนั้นจะขอให้คุณใส่ไดเร็กตอรี่เพื่อติดตั้ง JRE ซึ่งโดยค่าเริ่มต้นจะมีลักษณะคล้าย C: \ Program Files \ Java \ jre1.8.0_74

หมายเหตุที่หนึ่งJDK 1.8.0_74 และอื่น ๆ เป็นJRE 1.8.0_74

ฉันกำลังเร่งรีบสิ่งต่าง ๆ และคิดว่าผู้ติดตั้งถามคำถามเดียวกันสองครั้งให้ตั้งทั้งสถานที่ติดตั้ง JDK และ JRE เป็น D: \ devtools \ jdk \ jdk1.8.0_74 ทำให้ตัวติดตั้งเขียนทับ JDK ด้วย JRE สิ่งนี้ส่งผลให้ javac.exe หายไปในช่องเก็บ JDK ของฉันและข้อผิดพลาดเดียวกันที่ OP รายงานไว้ที่นี่ในการสร้าง maven ทั้งหมดของฉัน


3

ฉันได้ทางออกแล้ว

ทางออกที่พบบ่อยที่สุดสำหรับปัญหานี้คือการเปลี่ยนตำแหน่ง jdkเป็นJRE ที่ติดตั้งของฉันแทนตำแหน่งJREแต่ไม่ได้แก้ปัญหาของฉันในครั้งนี้

ดังนั้นฉันได้ทำด้านล่างเพื่อแก้ปัญหา ขยายแท็บJRE ที่ติดตั้งแล้วคุณจะพบแท็บสภาพแวดล้อมการดำเนินการ

คลิกที่สภาพแวดล้อมการดำเนินการที่คุณชื่นชอบ ในกรณีของฉันมันเป็นJAVASE-1.8 มันแสดงให้เห็น 2 ตัวเลือก JDK และ JRE เลือกJDK ที่นั่นและแก้ปัญหาได้แล้ว

ป้อนคำอธิบายรูปภาพที่นี่


2

ฉันเพิ่งเสียเวลา 3 ชั่วโมงกับปัญหานี้จนกระทั่งฉันจัดการเพื่อให้มันทำงานได้ ฉันมีข้อผิดพลาดนี้ใน Eclipse Terminal เมื่อใช้คำสั่ง mvn compile:

ไม่มีการรวบรวมในสภาพแวดล้อมนี้ บางทีคุณกำลังใช้งาน JRE มากกว่า JDK

ดังนั้นฉันอ่านที่นี่ว่าฉันต้องสร้างตัวแปรระบบใหม่ที่เรียกว่า JAVA_HOME และทำให้มันชี้ไปที่โฟลเดอร์การติดตั้ง jdk อย่างไรก็ตามสิ่งนี้สร้างข้อผิดพลาดอื่น:

ตัวเลือกแหล่งที่มา 1.5 ไม่ได้รับการสนับสนุนอีกต่อไป ใช้ 1.6 หรือใหม่กว่า

ไม่พบการแก้ไขสำหรับอันนี้ดังนั้น ...

ดังนั้นการแก้ไขเพื่อให้หายไปทั้งหมดคือติดตั้ง Java SE Development Kit 8! ฉันใช้ความคิด 9 ข้อว่าถ้าเป็นรุ่นล่าสุดจะต้องดีกว่า ...

อย่างไรก็ตาม...

  1. ถอนการติดตั้ง java เวอร์ชันทั้งหมดออกจากคอมพิวเตอร์ของคุณ
  2. ติดตั้ง JDK8 จากที่นี่: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  3. จากนั้นกำหนดค่าสภาพแวดล้อมระบบ JAVA_HOME - สอนที่นี่: https://docs.oracle.com/cd/E19509-01/820-3208/inst_cli_jdah_javahome_t/

  4. รีสตาร์ท Eclipse และสนุก! (อย่างน้อยนั่นคือสิ่งที่ฉันทำ)

หวังว่าเรื่องนี้จะทำให้คนเร่ร่อนมีปัญหา


2

ในกรณีของฉันฉันมีเส้นทางตัวแปรระบบมีตำแหน่ง "C: \ ProgramData \ Oracle \ Java \ javapath"

ในตำแหน่ง "C: \ ProgramData \ Oracle \ Java \ javapath" จาวามีเพียง javaw เท่านั้น ดังนั้นฉันจึงได้รับข้อผิดพลาดเดียวกัน

เมื่อฉันลบไฟล์ทั้งหมดในโฟลเดอร์ "C: \ ProgramData \ Oracle \ Java \ javapath" ข้อผิดพลาดของฉันได้รับการแก้ไข


2

ฉันลองคำตอบส่วนใหญ่โดยไม่ประสบความสำเร็จ สิ่งที่ใช้ได้ผลสำหรับฉันคือ (หลังจากทำตามhttps://stackoverflow.com/a/21279068/2408893 ):

  • คลิกขวาที่โครงการ -> คุณสมบัติ
  • เลือก Java Build Path
  • เลือกไลบรารีระบบ JRE
  • คลิกแก้ไข
  • ในสภาพแวดล้อมการดำเนินการเลือก jdk

ป้อนคำอธิบายรูปภาพที่นี่

  • คลิกเสร็จสิ้น
  • สร้างและเรียกใช้

2

แม้ว่าคำถามจะเกี่ยวกับข้อผิดพลาดกับEclipseการตั้งค่า แต่คิดว่าคำตอบของการแก้ไขข้อผิดพลาดนี้ด้วยIntelliJและการตั้งค่า Windows 10 อาจมีประโยชน์ที่นี่

1 . ไปที่File-> Settings-> Build, Execution, Deployment-> Build Tools-> Maven->Importing

2 . ตั้งค่าJDKสำหรับการImporterตามที่แสดงไว้ด้านล่างเพื่อJAVA_HOME

ป้อนคำอธิบายรูปภาพที่นี่

นอกจากนี้ยังJAVA_HOMEควรจะกำหนดให้JDKเส้นทางที่ตัวแปรสภาพแวดล้อม -> ตัวแปรของระบบและยังเพิ่ม%JAVA_HOME%\binตัวแปรระบบเส้นทาง


1

ฉันประสบปัญหาเดียวกันข้อผิดพลาดที่ฉันทำคือฉันเพิ่มเส้นทาง jre เฉพาะในเส้นทาง var ไม่ใช่เส้นทาง jdk เมื่อเส้นทาง jdk ถูกเพิ่มเข้ากับเส้นทางและสร้างโครงการ maven มันทำงานได้สมบูรณ์แบบขอบคุณทั้งหมด


1

ฉันทำการเปลี่ยนแปลงต่อไปนี้และได้ผลกับฉันหวังว่ามันจะช่วยใครบางคนป้อนคำอธิบายรูปภาพที่นี่


1

ลองสิ่งนี้

<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

ฉันได้รับข้อผิดพลาดเดียวกันเมื่อฉันสร้างอินสแตนซ์ใหม่ของ EC2 ubuntu 16.04 พร้อม Java ติดตั้งไว้แล้วและในขณะที่ใช้แพ็คเกจ mvn ใหม่ฉันพบปัญหานี้และวิธีแก้ปัญหาด้านล่างใช้ได้สำหรับฉัน

หากคุณกำลังทำงานบนเซิร์ฟเวอร์ Ubuntu คุณสามารถลองติดตั้ง Java อีกครั้งและเพื่อให้คุณสามารถใช้คำตอบนี้วิธีการติดตั้ง JDK บน Ubuntu Linux


1

ใน Windows 7 - 64 บิตมีปัญหาสิทธิ์ที่ป้องกันไม่ให้ตัวติดตั้งทำการคลายไฟล์ C: \ Program Files \ Java \ jdk1.6.xx \ lib \ tools.jar ลงในเครื่องของคุณ ไฟล์ jar นี้คือสิ่งที่ maven-compiler-plugin เวอร์ชัน 3.x ใช้แทน javac ปกติ

วิธีแก้ไข:รันในฐานะผู้ดูแลระบบตัวติดตั้ง Java JDK! และตรวจสอบให้แน่ใจว่า tools.jar อยู่ใน C: \ Program Files \ Java \ jdk1.6.xx \ lib \

ในกรณีที่คุณใช้งานปลั๊กอินการรวม m2e maven คุณต้องการดูไฟล์ที่สามารถมองเห็นได้ด้วย Eclipse ผ่านขั้นตอนต่อไปนี้ภายใน Eclipse:

ไปที่ Window -> Preferences -> Java -> JREs ที่ติดตั้งเลือก JDK ที่คุณใช้ (C: \ Program Files \ Java \ jdk1.6.xx) กด Edit เพื่อดูรายการ jars รวมถึง tools.jar หรือคุณสามารถ เพิ่มเป็น Add JAR ภายนอกจากนั้นกำหนดค่า maven ให้ทำตามขั้นตอนเหล่านี้:

Run-> Run configurations-> กรอกชื่อ, Base directory และ Goals จากนั้นในหน้าต่างเดียวกันย้ายไปที่แท็บ JRE และชี้ไปที่ JDK \ jdk1.6.xx \


0

นอกจากคำตอบข้างต้นฉันสามารถพูดได้ว่าเพียงแค่พยายามเรียกใช้ Maven จากเทอร์มินัล (นอก Eclipse) ด้วยวิธีนี้ถ้ามันสร้างจากภายนอก แต่ไม่ใช่ใน Eclipse คุณสามารถเข้าใจได้ว่าปัญหาควรอยู่ใน Eclipse


0

มีคำตอบหลายข้อเกี่ยวกับคำถามนี้ แต่ทั้งหมดเกี่ยวข้องกับการกำหนดค่าพา ธ ที่ถูกต้องของ JDK แต่ด้วย JRE เท่านั้นที่เราสามารถแก้ปัญหานี้ได้

เราเพียงแค่ต้องใช้แอสเซมบลีการปรับใช้เพื่อกำหนดค่าพา ธ ของไฟล์สงครามแบบแพคเกจของ Java EE Project จากนั้นเรียกใช้ maven-install อีกครั้ง

ขั้นตอนในการใช้ชุดประกอบการปรับใช้:

  1. คลิกขวาที่โครงการ Jave EE -> คลิกที่ Properties -> คลิกที่ Deployment Assembly

  2. คลิกที่ปุ่มเพิ่ม -> คลิกที่คลังเก็บจากระบบไฟล์ -> คลิกที่ถัดไป -> คลิกที่เพิ่ม -> ไปที่ไดเรกทอรี. m2 \ respository และค้นหาไฟล์สงครามที่สร้างขึ้น -> เลือกไฟล์สงคราม -> คลิกที่ปุ่มเปิด -> คลิกที่ใช้ -> ตกลง

  3. คลิกขวาที่โครงการ -> คลิกที่การติดตั้ง Maven ภายใต้เรียกใช้เป็น

นี่จะสร้างโครงการของคุณสำเร็จโดยไม่มีข้อผิดพลาดของคอมไพเลอร์

หวังว่านี่จะแก้ปัญหาได้โดยไม่ต้อง JDK

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.