3 回答

TA貢獻1943條經驗 獲得超7個贊
我在Eclipse 3.4.1中有相同的錯誤消息,SUN JVM1.6.0_07已連接到Tomcat 6.0(在另一臺計算機Sun JVM1.6.0_16上以調試模式運行,調試連接確實可以正常工作)。
窗口->首選項-> Java->編譯器->類文件生成:已檢查“將行號屬性添加到生成的類文件”。我做了干凈的重新編譯。我沒有取消選中它,重新編譯,選中它,重新編譯。我確保項目確實使用了全局設置。還是一樣的消息。
我切換到ant build,使用
<javac srcdir="./src/java" destdir="./bin" debug="true">
還是一樣。
我沒有找到導致此消息的原因以及為什么它不會消失。盡管這似乎與正在運行的Tomcat調試會話有關:斷開連接后,重新編譯可以解決此問題。但是在將調試器連接到Tomcat或在連接的調試會話期間設置新的斷點時,它再次出現。
但是,事實證明消息是錯誤的:在調試之前和調試期間,我確實能夠調試和設置斷點(javap -l也顯示了行號)。所以就忽略它:)

TA貢獻1831條經驗 獲得超10個贊
在eclipse菜單中,轉到Window-> Preferences-> Java-> Compiler
取消標記復選框“添加行號屬性...”
單擊應用->是
標記復選框“添加行號屬性...”
再次申請。
去調試吧

TA貢獻1752條經驗 獲得超4個贊
對于與Spring相關的問題,請考慮在某些情況下會生成“無行號”的類。例如@Service沒有接口的帶注釋的類,添加接口即可進行調試。請參閱此處以獲取完整示例。
@Service("SkillService")
public class TestServiceWithoutInterface {
public void doSomething() {
System.out.println("Hello TestServiceWithoutInterface");
}
}
上面的服務將有一個由spring生成的接口,導致“缺少行號”。添加一個真實的接口可以解決生成問題:
public interface TestService {
void doSomething();
}
@Service("SkillService")
public class TestServiceImpl implements TestService {
public void doSomething() {
System.out.println("Hello TestServiceImpl");
}
}
- 3 回答
- 0 關注
- 2022 瀏覽
添加回答
舉報