ฉันได้รับข้อผิดพลาดแปลก ๆ นี้ใน Eclipse ขณะพยายามตั้งเบรกพอยต์
Unable to insert breakpoint Absent Line Number Information
ฉันเลือกช่องทำเครื่องหมายจากตัวเลือกคอมไพเลอร์ แต่ไม่มีโชค
ฉันได้รับข้อผิดพลาดแปลก ๆ นี้ใน Eclipse ขณะพยายามตั้งเบรกพอยต์
Unable to insert breakpoint Absent Line Number Information
ฉันเลือกช่องทำเครื่องหมายจากตัวเลือกคอมไพเลอร์ แต่ไม่มีโชค
คำตอบ:
ฉันมีข้อความแสดงข้อผิดพลาดเดียวกันใน Eclipse 3.4.1, SUN JVM1.6.0_07 เชื่อมต่อกับ Tomcat 6.0 (ทำงานในโหมดดีบักบนเครื่องที่แตกต่างกัน Sun JVM1.6.0_16 การเชื่อมต่อการดีบักทำงานได้อย่างถูกต้อง)
Window -> Preferences -> ชวา -> คอมไพเลอร์ -> Classfile Generation "หมายเลขบรรทัดเพิ่มแอตทริบิวต์แฟ้มคลาสร้าง"ได้รับการตรวจสอบ ฉันทำความสะอาดคอมไพล์ใหม่ ฉันไม่ได้เลือก, คอมไพล์ใหม่, ตรวจสอบ, คอมไพล์ใหม่ ฉันทำให้แน่ใจว่าโครงการใช้การตั้งค่าส่วนกลาง ยังคงเป็นข้อความเดียวกัน
ฉันเปลี่ยนเป็นมดบิลด์โดยใช้
<javac srcdir="./src/java" destdir="./bin" debug="true">
ยังคงข้อความเดียวกัน
ฉันไม่ทราบว่าอะไรเป็นสาเหตุของข้อความนี้และทำไมมันถึงไม่หายไป แม้ว่ามันจะมีบางสิ่งที่เกี่ยวข้องกับเซสชันการดีบัก Tomcat ที่ทำงานอยู่: เมื่อถูกตัดการเชื่อมต่อการรวบรวมซ้ำจะช่วยแก้ปัญหานี้ได้ แต่ในการเชื่อมต่อดีบักเกอร์กับ Tomcat หรือในการตั้งค่าเบรกพอยต์ใหม่ในระหว่างเซสชันการดีบักที่เชื่อมต่อมันจะปรากฏขึ้นอีกครั้ง
อย่างไรก็ตามมันกลับกลายเป็นว่าข้อความผิด : ฉันสามารถดีบักและตั้งจุดพักได้ทั้งก่อนและระหว่างการดีบั๊ก ( javap -lแสดงหมายเลขบรรทัดด้วย) ดังนั้นอย่าสนใจ :)
debug="true"
ไปที่javac
งานของant
สร้างสคริปต์ทำงาน
ปัญหานี้แก้ไขได้ของฉัน:
Installed JREs
ค่าเริ่มต้นJDK
แทนJRE
สำหรับปัญหาที่เกี่ยวข้องกับSpring ให้พิจารณาว่าในบางกรณีจะสร้างคลาส "ไม่มีหมายเลขบรรทัด"; ตัวอย่างเช่น@Service
คลาสที่มีคำอธิบายประกอบโดยไม่มีอินเตอร์เฟสเพิ่มอินเตอร์เฟสและคุณสามารถดีบัก ดูที่นี่สำหรับตัวอย่างที่สมบูรณ์
@Service("SkillService")
public class TestServiceWithoutInterface {
public void doSomething() {
System.out.println("Hello TestServiceWithoutInterface");
}
}
บริการด้านบนจะมีส่วนต่อประสานที่สร้างขึ้นโดยสปริงทำให้ "ไม่มีหมายเลขบรรทัด" การเพิ่มอินเตอร์เฟสที่แท้จริงแก้ปัญหาการสร้าง:
public interface TestService {
void doSomething();
}
@Service("SkillService")
public class TestServiceImpl implements TestService {
public void doSomething() {
System.out.println("Hello TestServiceImpl");
}
}
ฉันมีคำตอบสำหรับปัญหานี้จาก BlackBerry SDK: ด้วยเหตุผลบางประการไม่ว่าฉันจะเปลี่ยนตัวเลือกในคอมไพเลอร์กี่ครั้งไฟล์การตั้งค่าพื้นฐานที่แท้จริงก็ไม่เปลี่ยนแปลง
ได้ดูในโฟลเดอร์ .settings ของโครงการของคุณสำหรับไฟล์ที่เรียกว่าorg.eclipse.jdt.core.prefs
ในนั้นคุณสามารถแก้ไขการตั้งค่าด้วยตนเอง:
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
แก้ไข: นอกจากนี้ฉันได้สังเกตเห็นว่าบางครั้งฉันสามารถเพิกเฉยต่อการแจ้งเตือน Eclipse ให้และมันจะยังคงหยุดที่สถานที่ที่ต้องการ ... curioser และ curioser ... ฉันใส่สิ่งนี้ลงในถังของสิ่งที่เราเรียนรู้ที่จะจัดการกับ เมื่อทำงานเหมือน dev
สิ่งนี้ใช้ได้กับฉัน:
Window --> Preferences --> Java --> Compiler --> Classfile Generation
True
debug="true"
ใน<javac>
งานbuild.xmlDebug
โหมดไม่ทราบว่าสิ่งนี้ยังมีความเกี่ยวข้องอยู่หรือไม่บางทีกะลาสีอีกคนจะพบว่ามีประโยชน์
ข้อความปรากฏขึ้นเมื่อมีไฟล์คลาสรวบรวมแฟล็กการดีบักถูกปิด
ใน eclipse คุณสามารถเปิดใช้งานได้โดยตัวเลือกที่กล่าวถึงข้างต้น
หน้าต่าง -> ค่ากำหนด -> Java -> คอมไพเลอร์ -> การสร้างคลาสไฟล์: "เพิ่มแอ็ตทริบิวต์หมายเลขบรรทัดไปยังคลาสไฟล์ที่สร้าง"
แต่ถ้าคุณมีไฟล์ jar คุณก็จะได้ผลลัพธ์ที่คอมไพล์แล้ว ไม่มีวิธีง่ายๆในการแก้ไขปัญหานี้
หากคุณมีสิทธิ์เข้าถึงแหล่งข้อมูลและใช้ ant เพื่อรับไฟล์ jar คุณสามารถแก้ไขภารกิจ ant ได้ดังต่อไปนี้
<javac destdir="${build.destDir}" srcdir="${build.srcDir}" source="1.6" fork="true" target="${javac.target}" debug="on" debuglevel="lines,vars,source" deprecation="on" memoryInitialSize="512m" memoryMaximumSize="1024m" optimize="true" >
การแก้ไขข้อบกพร่องที่มีความสุข ..
ฉันลองเกือบทุกวิธีที่นี่และไม่มีโชค คุณลองคลิก "ไม่ต้องบอกฉันอีก" หลังจากทำเช่นนั้นฉันเริ่มโปรแกรมของฉันใหม่และทุกอย่างก็ดี Eclipse เข้าสู่เบรกพอยต์ของฉันราวกับว่าไม่มีอะไรผิดปกติ
สาเหตุหลักสำหรับฉันคือ Eclipse พยายามตั้งค่าการดีบักสำหรับวัตถุพร็อกซีของ Spring CGLIB ที่สร้างขึ้นอัตโนมัติ หากคุณไม่ต้องการแก้ไขข้อบกพร่องในระดับนั้นคุณควรเพิกเฉยต่อปัญหานี้
มันจะช่วยได้หากคุณระบุเวอร์ชันของ eclipse ที่คุณใช้และเทคโนโลยี (Java JDT หรือ AJDT สำหรับ Aspect Java หรือ C ++ CDT เป็นต้น) เพื่อให้แน่ใจ
ในด้าน Java ฉันคิดว่า "เลือกช่องทำเครื่องหมายจากตัวเลือกคอมไพเลอร์" ของคุณหมายถึงสิ่งนี้
ภายใต้ " Window --> Preferences --> Java --> Compiler --> Classfile Generation
" Class file
ตัวเลือกการสร้าง ' ' ทั้งหมดจะถูกตั้งค่าเป็น True:
โครงการของคุณมีการตรวจสอบเฉพาะในระดับโลก (การตั้งค่า windows) หรือที่ระดับโครงการเฉพาะหรือไม่
และคุณแน่ใจว่าชั้นเปิด (ซึ่งคุณพยายามที่จะตั้งเบรกพอยต์):
.java
ไม่ได้.class
?พยายามทำความสะอาดทุกอย่างและสร้างใหม่ทั้งหมดตรวจสอบความขัดแย้งที่อาจเกิดขึ้นได้
ฉันมีปัญหานี้ในขณะที่พยายามเริ่ม Tomcat ในโหมดการดีบักจาก Eclipse ฉันมีไฟล์บิลด์ ANT ดูแลการคอมไพล์และปรับใช้ หลังจากตั้งค่าสถานะการดีบักเป็นจริง (ดังที่กล่าวไว้ในคำตอบอื่น ๆ ) และการปรับใช้แอปพลิเคชันใหม่ก็ทำงานได้ดี:
<javac srcdir="./src/java" destdir="./bin" debug="true">
หมายเหตุ:หากคุณเพิ่งเพิ่มการตั้งค่าการดีบักและคอมไพล์ใหม่คุณยังคงต้องปรับใช้แอปพลิเคชันของคุณไปยังเซิร์ฟเวอร์อีกครั้งเนื่องจากนี่คือที่ Eclipse กำลังดีบักไฟล์คลาส ชัดเจนมาก แต่ใช้เวลาประมาณหนึ่งชั่วโมงเกาหัวของคุณและสงสัยว่าทำไมมันถึงไม่ทำงาน (เชื่อใจฉัน)
ลองเปลี่ยนการใช้งานของjre
คุณตั้งค่าjre
ในโฟลเดอร์JDK
แทน
เนื่องจากฉันมีการติดตั้ง Java 6 เวอร์ชันที่แตกต่างกันฉันจึงต้องเปลี่ยนการปฏิบัติตามมาตรฐาน JDK เริ่มต้นเพื่อให้ตรงกับรุ่น Java ที่ฉันต้องการใช้ Eclipse โดยค่าเริ่มต้นมีระดับความสอดคล้องของคอมไพเลอร์ตั้งเป็น Java 1.7 เมื่อทุกอย่างถูกสร้างขึ้น / รวบรวมโดยใช้ Java 1.6
ดังนั้นทั้งหมดที่ฉันทำคือ
ตอนนี้ Eclipse ไม่บ่นเกี่ยวกับ "ไม่สามารถแทรกจุดพักข้อมูลหมายเลขบรรทัดขาด" อีกต่อไปและจุดพักการดีบักใช้งานได้จริง !!!
หากไม่มีอะไรใช้งานได้ให้เปิดมุมมองการดีบักล้างจุดพักที่มีอยู่ทั้งหมดแล้วตั้งค่ากลับมาอีกครั้ง
นี่คือคำอธิบายรายละเอียดที่นี่:
https://github.com/spring-projects/spring-ide/issues/78
สำหรับการอ้างอิงในอนาคตนี่เป็นส่วนที่เกี่ยวข้องของคำตอบ (ไม่สนใจข้อเท็จจริงที่อ้างถึงแอพพลิเคชั่น Spring Boot พฤติกรรมจะเหมือนกันสำหรับกรณีอื่น ๆ มากมาย):
เมื่อใดก็ตามที่คุณตั้งค่าเบรกพอยต์ใน Eclipse / STS, IDE จะพยายามตั้งค่าเบรกพอยต์ใน VM หากคุณเปิดแอพ นั่นคือสิ่งที่เกิดขึ้นในกรณีของคุณเมื่อคุณเรียกใช้แอพสำหรับบูตในโหมดแก้ไขข้อบกพร่อง
สำหรับแต่ละคลาสที่โหลดลงใน JVM นั้น IDE จะตรวจสอบว่าจำเป็นต้องตั้งค่าเบรกพอยต์หรือไม่ ถ้ามันตัดสินใจที่จะตั้งค่าเบรกพอยต์ความพยายามที่จะทำเช่นนั้น (ใช้ข้อมูลจากการกำหนดเบรกพอยต์ใน IDE รวมถึงหมายเลขบรรทัดเนื่องจากคุณมักจะตั้งจุดพักบรรทัดในไฟล์ต้นฉบับที่บรรทัดที่กำหนด)
การตัดสินใจนี้ (ไม่ว่าจะเป็นการตั้งค่าเบรกพอยต์ในคลาสที่โหลดหรือไม่ก็ตาม) จะตรวจสอบประเภทที่คุณตั้งค่าเบรกพอยต์บน, การปิดล้อมประเภทและคลาสภายใน สิ่งนี้ทำให้แน่ใจว่าจุดพักสำหรับคลาสภายใน (แม้แต่คลาสภายในที่ไม่ระบุชื่อ) ถูกตั้งค่าเป็น JVM (และไม่ถูกละเว้น)
Spring Boot สร้างคลาสภายในสำหรับคอนโทรลเลอร์ของคุณเมื่อรันไทม์ (นี่คือ CGLIB ที่สร้างคลาสภายในที่ปรากฏในข้อความแสดงข้อผิดพลาด) เมื่อ JVM โหลดคลาสนั้นจะพยายามกำหนดจุดพักหมายเลขบรรทัดของประเภทการปิดล้อม (สำหรับคลาสภายในนี้) เนื่องจากคลาสภายในที่สร้างขึ้นไม่มีข้อมูลหมายเลขบรรทัดใด ๆ (ไม่จำเป็นต้องมีข้อมูลหมายเลขบรรทัด) การตั้งค่าเบรกพอยต์จึงล้มเหลวสำหรับคลาสภายในนี้พร้อมกับข้อความแสดงข้อผิดพลาดที่กล่าวถึง
เมื่อ IDE โหลดชนิดการปิดล้อม (คลาสคอนโทรลเลอร์ของคุณเอง) มันจะพยายามตั้งค่าเบรกพอยต์ของบรรทัดและประสบความสำเร็จด้วย นี่คือภาพที่มีเครื่องหมายตรวจสอบบนเครื่องหมายเบรกพอยต์
ดังนั้นคุณสามารถละเว้นข้อผิดพลาดที่ปรากฏขึ้นอย่างปลอดภัย เพื่อหลีกเลี่ยงข้อความแสดงข้อผิดพลาดนี้คุณสามารถไปที่การกำหนดค่าตามความชอบ (Java -> Debug) และปิดการใช้งาน "เตือนเมื่อไม่สามารถติดตั้งเบรกพอยต์เนื่องจากคุณสมบัติหมายเลขบรรทัดขาดหายไป"
สถานการณ์ของฉันคล้ายกัน:
spyTask = spy(new Task())
Task.java
)จุดพักนี้สร้างข้อผิดพลาดที่เป็นปัญหาทุกครั้งที่ฉันเรียกใช้ Debug As... > JUnit Test
เพื่อแก้ไขปัญหาฉันได้ย้ายจุดพัก 'up' ไปสู่การทดสอบจริง (ภายใน TaskTest.java) เมื่อการประมวลผลหยุดลงฉันได้เพิ่มจุดพักกลับที่เดิมไว้ (ภายใน Task.java)
ฉันยังคงได้รับข้อผิดพลาดเดิม แต่หลังจากคลิก "ตกลง" เบรกพอยต์ก็ใช้งานได้
หวังว่าจะช่วยคน
-gmale
ฉันมีปัญหาเดียวกันเมื่อฉันทำบนเซิร์ฟเวอร์ jetty และรวบรวมไฟล์. war ใหม่โดย ANT คุณควรสร้างคอมไพเลอร์ jdk / jre รุ่นเดียวกันและ build path (เช่น jdk 1.6v33, jdk 1.7, .... ) หลังจากที่คุณต้องตั้งค่า Java Compiler เหมือนที่เขียนไว้ก่อนหน้านี้
ฉันทำทุกอย่างและยังไม่ทำงาน วิธีการแก้ปัญหาคือการลบไฟล์. class รวบรวมและเป้าหมายของไฟล์ war ที่สร้างขึ้นและตอนนี้มันทำงาน :)
รับข้อความนี้ด้วย Spring AOP (ดูเหมือนว่ามาจากห้องสมุด CGLIB) การคลิกที่ละเว้นดูเหมือนว่าจะทำงานได้ดีฉันยังคงสามารถดีบักได้
ฉันพบอีกเหตุผลสำหรับข้อความนี้ ฉันเขียนโปรแกรมสกาล่า ทางออกคือ:
ตอนนี้การดีบักควรทำงาน โปรดสังเกตว่าฉันได้ติดตั้งปลั๊กอิน Scala IDE แล้วตัวเลือกนี้อาจไม่สามารถใช้ได้หากคุณไม่มี
เหนือสิ่งต่าง ๆ ไม่ทำงานสำหรับฉัน โซลูชั่นด้านล่างทำงานได้ในที่สุด การกำหนดค่าการดีบัก -> Classpath -> รายการผู้ใช้ -> (เพิ่มโฟลเดอร์ src ของโครงการที่คุณต้องการแก้ปัญหา)
ฉันมีปัญหาเดียวกันนี้เมื่อทำการดีบัก WAR (สร้างจากสิ่งประดิษฐ์ Eclipse หลายรายการ) ที่ปรับใช้กับ Tomcat
ฉันกำลังสร้างทุกสิ่งโดยใช้สคริปต์สร้าง ANT หากนี่คือสิ่งที่คุณกำลังทำอยู่ตรวจสอบให้แน่ใจว่าตั้งค่าสถานะ debug = true ในทุกภารกิจของ javac ant ที่คุณได้รับ นี่เป็นปัญหาเดียวของฉัน - ฉันหวังว่าจะช่วยแก้ปัญหาของคุณ!
ฉันมีข้อผิดพลาดเดียวกันกับ JBoss 7.1 .. และฉันก็ทำเช่นเดียวกันกับ Zefiro เพียงแค่ละเว้นข้อผิดพลาดและฉันก็สามารถวางจุดพักได้ตามปกติ ในกรณีของฉันฉันกำลังสร้างผู้สร้างความคิดและนี่คืองาน javac ของฉัน:
<javac
srcdir="${src.dir}"
destdir="${build.classes.dir}"
includeantruntime="false"
debug="${debug}"
verbose="false"
debuglevel="lines,vars,source"
source="1.6"
target="1.6">
<!-- Sppressing warning for setting an older source without bootclasspath
(see: https://blogs.oracle.com/darcy/entry/bootclasspath_older_source) -->
<compilerarg value="-Xlint:-options"/>
<classpath>
<fileset dir="${lib.dir}" includes="*.jar" />
<fileset dir="${jboss.lib.dir}" includes="**/*.jar" />
</classpath>
</javac>
ฉันได้รับปัญหาเดียวกันฉันใช้เวลามากมายในการค้นหาวิธีแก้ปัญหา แต่โซลูชันเหล่านี้ไม่เหมาะสมดังนั้นฉันจึงศึกษาทุกกรณีด้วยตนเองในที่สุดฉันก็พบว่าปัญหามันขัดแย้งกันระหว่างรุ่น JDK ด้านล่างเป็นขั้นตอนในการแก้ไขปัญหา: 1. ลบรุ่น JDK และ JRE ทั้งหมดเก็บรุ่นเดียวเท่านั้น 2. ตั้งค่าระบบ JAVA_HOME และคอมไพเลอร์ java ใน Eclipse เหมือนกัน ในบางกรณีข้อผิดพลาดด้านบนจะไม่หายไป แต่เราสามารถเรียกใช้ในรูปแบบการดีบัก
เมื่อฉันพบข้อผิดพลาดเดียวกันเมื่อฉันใช้ junit และ Mockito ฉันลืมที่จะเพิ่ม @PrepareForTest
คลาสแบบคงที่
เพิ่มรหัสด้านล่างแก้ไขปัญหาของฉัน
@PrepareForTest({XXXXX.class})
ไม่แน่ใจว่าเป็นกรณีเดียวกัน
ปัญหาของฉันคือฉันมี 2 JAR และฉันพยายามที่จะแทนที่หนึ่งด้วยอื่น ๆ ตามคำสั่งในJava Build Path => Order & Export
แท็บใน Eclipse เพราะหนึ่งคือการแก้จุดบกพร่องและอื่น ๆ ไม่ได้ (การแก้จุดบกพร่อง JAR เป็นลำดับแรก) เมื่อฉันทำเช่นนี้ฉันต้องแนบแหล่งข้อมูลด้วยตนเอง
ฉันพยายามลบ JAR ที่ไม่ใช่การดีบักและวาง JAR ที่ดีบักในไดเร็กทอรี \ WEB-INF \ lib \ ของฉันการทำความสะอาดการสร้าง ฯลฯ และใช้งานได้ ครั้งนี้ (มีการลบแหล่งที่แนบมา) มันจะให้ฉันนำทางผ่านรหัสการแก้ปัญหาโดยอัตโนมัติโดยไม่ต้องแนบแหล่งใด ๆ ด้วยตนเอง เบรกพอยต์และดีบักก็ใช้ได้เช่นกัน
ในกรณีที่ใครยังมีปัญหาฉันก็ลองวิธีแก้ปัญหาเฉพาะทั้งหมดที่กล่าวถึงในคำตอบอื่น ๆ :
Add line number attributes...
org.eclipse.jdt.core.prefs
ตามที่กล่าวไว้ในคำตอบอื่น: https://stackoverflow.com/a/31588700/1599699ฉันยังทำตามปกติการปิดเซิร์ฟเวอร์ (และทำให้แน่ใจว่า java.exe ปิดจริง ... ), การลบ \ build \ directory ในทั้งสองโครงการ, เริ่มต้น Eclipse ด้วยพารามิเตอร์ -clean, สร้าง debug JAR, รีเฟรช, การทำความสะอาดและการสร้างโครงการด้วย debug JAR ในนั้นเริ่มเซิร์ฟเวอร์ในโหมดดีบักการเผยแพร่ / การทำความสะอาดและการเบรกพอยต์
ฉันทำทุกสิ่งตามที่ระบุข้างต้นในขณะที่รวบรวม / สร้างขวด - ยังมีปัญหาเดียวกัน
ในที่สุดการเปลี่ยนแปลง jvmarg ที่ระบุไว้ด้านล่างในขณะที่เริ่มต้นเซิร์ฟเวอร์คือสิ่งที่ทำงานให้ฉันในที่สุด:
1) Remove / Commented พวงของ jvm args เกี่ยวกับ javaagent และ bootclasspath
2) เปิด / ไม่แสดงความคิดเห็นในบรรทัดต่อไปนี้:
จากนั้นเมื่อฉันเริ่มต้นเซิร์ฟเวอร์ฉันสามารถเข้าถึงจุดพักได้ ฉันสงสัยว่า Javaagent รบกวนความสามารถของ Eclipse ในการตรวจจับหมายเลขบรรทัด
ตรวจสอบ / ทำต่อไปนี้:
1) ภายใต้ "หน้าต่าง -> การตั้งค่า -> Java -> คอมไพเลอร์ -> การสร้างคลาสไฟล์" ตัวเลือกทั้งหมดจะต้องเป็นจริง:
(1) Add variable attributes...
(2) Add line number attributes...
(3) Add source file name...
(4) Preserve unused (never read) local variables
2) ในโฟลเดอร์ .settings โครงการของคุณให้มองหาไฟล์ชื่อ org.eclipse.jdt.core.prefs ยืนยันหรือตั้งค่า org.eclipse.jdt.core.compiler.debug.lineNumber = สร้าง
3) หากหน้าต่างข้อผิดพลาดยังคงปรากฏขึ้นให้คลิกช่องทำเครื่องหมายเพื่อไม่แสดงข้อความข้อผิดพลาด
4) ทำความสะอาดและสร้างโครงการ เริ่มการดีบัก
โดยปกติแล้วหน้าต่างข้อผิดพลาดจะไม่ปรากฏขึ้นอีกและข้อมูลการดีบักจะแสดงอย่างถูกต้อง
ฉันพบปัญหานี้เช่นกัน ฉันใช้สคริปต์สร้างมด ฉันกำลังทำงานกับแอปพลิเคชันรุ่นเก่าดังนั้นฉันจึงใช้ jdk รุ่น 1.4.2 สิ่งนี้เคยทำงานดังนั้นฉันจึงเริ่มมองไปรอบ ๆ ฉันสังเกตเห็นว่าภายใต้การกำหนดค่า Debug บนแท็บ JRE รุ่นของ Java ได้รับการตั้งค่าเป็น 1.7 เมื่อฉันเปลี่ยนกลับเป็น 1.4 มันใช้งานได้
ฉันหวังว่านี่จะช่วยได้.
ฉันพยายามดีบักตัวจัดการการบันทึกและต้องการเปลี่ยน jre เป็น jdk จากนั้นเลือก jdk นี้ในแท็บ "main" "Java Runtime Environment" | "runtime JRE" ของการกำหนดค่าการดีบักแล้วทั้งหมดเป็นอย่างดี
ฉันเห็นปัญหานี้เมื่อฉันใส่คำอธิบายประกอบคลาสด้วย @ManagedBean (javax.annotation.ManagedBean) ข้อความเตือนปรากฏขึ้นเมื่อเรียกใช้แอพที่ได้รับการรับรองใหม่บน JBoss EAP 6.2.0 การเพิกเฉยต่อมันและการทำงานต่อไปไม่ได้ช่วยอะไร - จุดพักไม่เคยไปถึง
ฉันเรียกถั่วนั้นโดยใช้ EL ในหน้า JSF ตอนนี้ ... เป็นไปได้ว่า @ManagedBean ไม่ดีสำหรับเรื่องนั้น (ฉันใหม่กับ CDI) เมื่อฉันเปลี่ยนคำอธิบายประกอบเป็น @Model ถั่วของฉันจะทำงาน แต่คำเตือนเบรกพอยต์ก็หายไปและฉันก็ถึงจุดพักตามที่คาดไว้
โดยสรุปแล้วดูเหมือนว่าคำอธิบายประกอบ @ManagedBean ทำให้หมายเลขบรรทัดไม่ถูกต้องไม่ว่าจะเป็นการใช้คำอธิบายประกอบที่ไม่ถูกต้องหรือไม่ก็ตาม
ตรวจสอบให้แน่ใจโครงการซึ่งในระดับหลักของรันไทม์คือเป็นโครงการเดียวกันในซึ่งเป็นระดับที่คุณมีจุดพักใน หากไม่ตรวจสอบให้แน่ใจว่าโครงการทั้งสองอยู่ใน classpath ของการกำหนดค่าการเรียกใช้และปรากฏก่อนหน้าไหและโฟลเดอร์คลาส