คำเตือน - พา ธ บิลด์ระบุสภาพแวดล้อมการดำเนินการ J2SE-1.4


141

ฉันสร้างโครงการ Maven ใน Eclipse Helios มันใช้งานได้ดีสำหรับหนึ่งวัน แต่แล้วคำเตือนนี้จะปรากฏขึ้น:

บิวด์พา ธ ระบุสภาวะแวดล้อมการดำเนินการ J2SE-1.4 ไม่มี JREs ติดตั้งอยู่ในเวิร์กสเปซที่เข้ากันได้กับสภาพแวดล้อมนี้อย่างเคร่งครัด

เนื่องจากข้อความนี้โครงการหยุดการรวบรวมและดีบัก ไม่มีใครมีวิธีแก้ปัญหานี้หรือไม่?

คำตอบ:


226

ใน Eclipse จากโครงการของคุณ:

  1. คลิกขวาที่โครงการของคุณ
  2. คลิกคุณสมบัติ
  3. Java build พา ธ : ไลบรารี; ลบ "ไลบรารีระบบ JRE [J2SE 1.4]"
  4. คลิกเพิ่มไลบรารี -> ไลบรารีระบบ JRE
  5. เลือก "Execution Environment" หรือ JRE ดีฟอลต์ของเวิร์กสเปซใหม่

43
คำตอบนี้เหมาะสำหรับ Eclipse แต่ผิดสำหรับ Maven + Eclipse
Chris Dolan

17
การดำเนินการนี้จะแก้ไขปัญหาชั่วคราวจนกว่าจะมีการสร้าง maven อื่นที่จุด JRE เวอร์ชันจะถูกรีเซ็ตเป็นค่าเริ่มต้น ดูคำตอบของ Pascal Thivent เพื่อเปลี่ยนเวอร์ชันเริ่มต้นของ JRE ที่ระบุใน POM
matthewb

ทั้งหมดไม่ทำงาน เมื่อใดก็ตามที่คุณทำ [Alt] [F5] เพื่ออัปเดต maven การปรับแต่งด้วยตนเองนั้นจะได้รับจำนวนมากและคำเตือนจะกลับมา ดู bugs.eclipse.org/bugs/show_bug.cgi?id=376619
Jörg

181

ไม่ว่าคุณจะใช้ปลั๊กอิน maven eclipse หรือm2eclipseการกำหนดค่าโครงการของ Eclipse นั้นมาจาก POM ดังนั้นคุณต้องกำหนดค่าปลั๊กอิน maven compiler สำหรับ 1.6 (ค่าเริ่มต้นคือ 1.4)

เพิ่มสิ่งต่อไปนี้ในโปรเจ็กต์ของpom.xmlคุณบันทึกจากนั้นไปที่โปรเจ็กต์ Eclipse ของคุณและเลือกคุณสมบัติ> Maven> อัพเดตคอนฟิกูเรชันโปรเจ็กต์:

<project>
 <build>
  <pluginManagement>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
   </plugins>
  </pluginManagement>
 </build>
</project>

4
ฉันเห็นด้วยนี่คือคำตอบที่ถูกต้อง วิธีแก้ปัญหาอื่น ๆ จำนวนมากจะแก้ปัญหาชั่วคราวจนกว่าจะมีการสร้าง Maven build ขึ้นอีกจุด JRE จะถูกรีเซ็ตเป็นเวอร์ชันเริ่มต้น การเพิ่มปลั๊กอินนี้ไปยัง POM จะเปลี่ยนรุ่น JRE เริ่มต้น
matthewb

ที่ไหน (ตำแหน่ง XPATH แบบเต็ม) ใน pom.xml สิ่งนี้จะไปได้อย่างไร เมื่อใดก็ตามที่ฉันเพิ่ม Maven บ่นของ pom ผิดรูปแบบ
Ed Randall

2
นี่คือคำตอบที่ถูกต้อง คำตอบที่ได้รับการยอมรับเป็นการแก้ไขชั่วคราว!
Scott Offen


ฉันมีสิ่งนี้ใน maven pom.xml ของฉันและยังได้รับคำเตือน ดูเหมือนว่าทุกอย่างจะทำงาน แต่คำเตือนยังอยู่ที่นั่น
ropo

10

การแก้ปัญหาข้างต้นแก้ไขโครงการหรือแก้ไขปัญหาในทางใดทางหนึ่ง บางครั้งคุณไม่ต้องการแก้ไขโครงการและซ่อนคำเตือนแทน

หากต้องการทำเช่นนั้นให้กำหนดค่าเนื้อหาของพาเนลคำเตือนและตรวจสอบให้แน่ใจว่าได้สลับหมวดหมู่ "build path" -> "ปัญหาระบบเส้นทาง JRE" UI สำหรับกล่องโต้ตอบนี้ค่อนข้างซับซ้อน / แปลก / ใช้งานไม่ได้ดังนั้นคุณอาจต้องเล่นซอกับตัวเลือกบางอย่างเพื่อให้มันทำสิ่งที่คุณต้องการ


ฉันมี Workspaces สองตัวตั้งค่าแบบเดียวกับ JDK 7 แต่คอมไพล์เป็น 1.6 (ในที่สุดเราจะย้ายไป) เครื่องปิดตัวลงอย่างหนักโดย Windows Update ตัวเก่าที่ดี - และพื้นที่ทำงานที่เปิดเริ่มแสดงสิ่งนี้และจะไม่ถูกทำให้สงบ ขอบคุณสำหรับการชี้ให้เห็นการทำงาน!
RedYeti

13
หรืออีกวิธีที่ทำความสะอาดเล็กน้อย: หน้าต่าง -> การตั้งค่า -> Java -> คอมไพเลอร์ -> อาคาร -> ตั้งค่า "ไม่มี JRE ที่เข้ากันได้อย่างเคร่งครัดสำหรับสภาพแวดล้อมการทำงาน" เป็น "ไม่สนใจ"
RedYeti

@ RedYeti นี้ควรใช้งานได้ แต่ไม่ใช่สำหรับฉัน (Eclipse 4.5)
NathanChristie

3

ในการกำหนดค่าตามความชอบ eclipse ไปที่ Java-> JREs- ที่ติดตั้งแล้ว> Execution Environment และตั้งค่า JRE Execution Environmentสำหรับ J2SE-1.4


การดำเนินการนี้จะแก้ไขปัญหาชั่วคราวจนกว่าจะมีการสร้าง maven อื่นที่จุด JRE เวอร์ชันจะถูกรีเซ็ตเป็นค่าเริ่มต้น ดูคำตอบของ Pascal Thivent ด้านบนเพื่อเปลี่ยนรุ่นเริ่มต้นของ JRE ที่ระบุใน POM
matthewb

ไม่นี่คือการเปลี่ยนพื้นที่ทำงานที่ติดตั้ง JREs และไม่ใช่หนึ่งสำหรับโครงการเฉพาะ (ซึ่งเป็นสิ่งที่คำตอบที่ยอมรับได้)
AlBlue

3

สาเหตุที่แท้จริงของคำเตือนนี้คือคุณได้กำหนดค่าโครงการของคุณให้รันด้วย JRE เวอร์ชันก่อนหน้าจากนั้นคุณได้ติดตั้ง โดยทั่วไปจะเกิดขึ้นทุกครั้งที่คุณใช้โครงการเก่ากับ JRE ที่ใหม่กว่า

สิ่งนี้จะทำให้ไม่มีปัญหาเลย แต่ถ้าคุณต้องการที่จะเป็นจริงด้านการบันทึกคุณควรติดตั้ง JDK เก่าที่ถูกต้อง คุณสามารถค้นหาได้ที่นี่: http://www.oracle.com/technetwork/java/archive-139210.html

จากนั้นถ้าคุณรีสตาร์ทคราสคุณสามารถเข้าไปในหน้าต่าง> การตั้งค่า> Java> JREs ติดตั้ง> สภาพแวดล้อมการดำเนินการและการตั้งค่าสำหรับในกรณีของคุณJ2SE-1.4 [คู่ที่สมบูรณ์แบบ]เป็นคราสเรียกมันว่า


เพิ่มขึ้นเพราะฉันมีโครงการ Java 7 และติดตั้ง Java 8 เท่านั้น
Amedee Van Gasse

2

หากคุณมี Java 1.8 แล้ว

คุณต้องการส่วน xml นี้ใน pom.xml และอัปเดตโครงการ

 <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

2

ขั้นตอนที่ถูกต้องในการแก้ไขคำเตือนนี้ตามที่คนอื่นเขียนคือเข้าไปในคุณสมบัติโครงการของคุณและคลิกที่Java Build Path ทางด้านซ้าย ตอนนี้คุณจะพบภายในJ2SE 1.5ในหน้าต่าง Librariesคลิกสองครั้งที่หน้าต่างนี้และหน้าต่างใหม่จะทำให้คุณสามารถเลือกสภาพแวดล้อมของ Excecution ที่ถูกต้องได้ ตอนนี้เลือกรุ่นของคุณแล้วคำเตือนจะหายไป


1

คุณตั้งค่าโครงการของคุณให้สอดคล้องกับการปฏิบัติตาม 1.4 หรือไม่ ถ้าเป็นเช่นนั้นทำในสิ่งที่ Krock กล่าวว่า หรือเพื่อให้แม่นยำยิ่งขึ้นคุณต้องเลือกสภาพแวดล้อมในการดำเนินการ J2SE-1.4 และตรวจสอบหนึ่งใน JRE ที่ติดตั้งซึ่งคุณต้องการใช้ในโหมดการปฏิบัติตามข้อกำหนด 1.4; เป็นไปได้ว่าคุณจะติดตั้ง 1.6 JRE เพียงตรวจสอบ หรือติดตั้ง 1.4 JRE หากคุณมีชุดอุปกรณ์ติดตั้งและใช้ชุดนั้น

มิฉะนั้นไปที่การกำหนดค่าตามความชอบ Eclipse ของคุณ Java -> คอมไพเลอร์และตรวจสอบว่าการปฏิบัติตามข้อกำหนดถูกตั้งค่าเป็น 1.4 ถ้ามันเปลี่ยนกลับเป็น 1.6 ถ้ามันไม่ได้ไปที่คุณสมบัติของโครงการและตรวจสอบว่ามีการตั้งค่าเฉพาะโครงการ ไปที่ Java Compiler และยกเลิกการเลือกว่าหากคุณต้องการใช้การกำหนดค่าตามความชอบ eclipse ทั่วไป หรือตั้งค่าการตั้งค่าเฉพาะของโครงการเป็น 1.6 เพื่อให้เป็น 1.6 โดยไม่คำนึงถึงการตั้งค่าคราส


การดำเนินการนี้จะแก้ไขปัญหาชั่วคราวจนกว่าจะมีการสร้าง maven อื่นที่จุด JRE เวอร์ชันจะถูกรีเซ็ตเป็นค่าเริ่มต้น ดูคำตอบของ Pascal Thivent ด้านบนเพื่อเปลี่ยนรุ่นเริ่มต้นของ JRE ที่ระบุใน POM
matthewb

0

เพียงแค่เปลี่ยนเวอร์ชั่นใน Window-> Preferences-> Java -> JREs ที่ติดตั้งไว้ ตรวจสอบรายการ JREs ที่ติดตั้ง จากนั้นคลิกขวาที่โปรเจ็กต์ของคุณ -> properties -> Java build path -> libraries เปลี่ยน "JRE System Library" เป็นเวอร์ชันใน "JREs ที่ติดตั้ง"

คำเตือนจะหายไป


-1

ฉันได้รับคำเตือนโครงการเนื่องจาก " Build path ระบุสภาพแวดล้อมการดำเนินการ J2SE-1.5 ไม่มี JREs ติดตั้งอยู่ในพื้นที่ทำงานที่เข้ากันได้กับสภาพแวดล้อมนี้อย่างเคร่งครัด " ฉันลบไลบรารี J2SE1.5 และเพิ่ม JRE System Library ใหม่ซึ่งแก้ไขปัญหาของฉันได้


สิ่งนี้แตกต่างจากคำตอบของ btpka3อย่างไร
Stevoisiak

-1

ขยายโครงการของคุณในพื้นที่ทำงาน >> คลิกขวา (ไลบรารีระบบ JRE) >> คุณสมบัติที่เลือก >> ค่าเริ่มต้น selectworkspace JRE โซลูชันด้านบน


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