簡體   English   中英

Java調試已部署的Glassfish @PostConstruct無法調試

[英]Java Debugging Deployed Glassfish @PostConstruct Unable to Debug

我可以在NetBeans中調試Java應用程序,並在NetBeans中調試其他項目。 但是,在Glassfish中部署Singleton並在@PostConstruct批注上設置斷點時,我無法調試。 我已將目標服務器設置為在其上進行調試,並且已設置了調試器應在其中進行調試的斷點,並以調試模式啟動了服務器。 但是,我仍然無法在NetBeans中進行調試。 下面是代碼:

@Startup
@Singleton
public class Listener {

    @PostConstruct
    public void init() {
        System.out.println("init");   
    }
}

我在System.out.println(“ init”)語句上設置斷點。 我遵循的步驟是:

1)構建Jar文件2)啟動Glassfish服務器3)部署Jar文件4)以Debug模式啟動服務器5)NetBeans的控制台中打印了“ init”,但是我無法調試。

我嘗試在許多不同的端口上附加調試器,但是連接被拒絕或無法調試。

我正在使用NetBeans 1.7.2。 我已經嘗試過與其他版本的NetBeans進行相同的操作,但是仍然存在相同的問題。

上面只是一個示例代碼,但是還有更多代碼,但是我無法調試。 我在Google上找不到任何解決方案。

你可以試試看嗎?

你必須:

  1. 以調試模式啟動服務器(打印啟動的dt_socket端口時)
  2. 附加調試器Debug->附加調試器...
  3. 設定斷點
  4. 部署您的應用

@PostConstruct在部署期間被調用,因此您提供的步驟順序不正確,因為在附加到調試器之前會調用代碼。

您是否用Eclipse嘗試過? 我記得,在Eclipse中調試@PostConstruct方法沒有問題。

更多值得一提的是:-只要您的應用程序在服務器上存在,@ Singleton bean就會存在...因此,如果要調試其@PostConstruct,我建議您打開glassfish服務器控制台,並使用來自控制台...直到此為止,@ PostConstruct不會被調用,因為bean是容器管理的...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM