2017-06-03 60 views
1

我很好奇IntelliJ調試器如何使用我的glassfish服務器的domain.xml,並在請求時報告網頁。有關Glassfish Server如何使用IntelliJ Debugger運行的細節?

具體來說,我有一個名爲blobGame一個項目的IntelliJ使用該打開一個名爲blobGame當文物的.war和的.ear部署網頁上的GlassFish服務器。

首先,如何這些文物部署?當我部署他們,我必須有本地主機的URL是http://localhost:60836/blobGame_war_exploded,並本地主機:60836/blobGame不工作,即使我改變它在調試配置 - here is my debugger info

這是爲什麼?爲什麼url必須是/blobGame_war_exploded?它甚至不能/blobGame_ear_exploded,因爲我看到,也domain.xml中。

這裏是domain.xml中爲我的域名被稱爲「域2」的片段:所有的

<applications> 
 
    <application object-type="user" name="blobGame_ear_exploded" directory-deployed="true" location="file:/C:/Users/Kevin/EECS/blobGame/out/artifacts/blobGame_ear_exploded/"> 
 
     <property name="archiveType" value="ear"></property> 
 
     <property name="isComposite" value="true"></property> 
 
     <property name="appLocation" value="file:/C:/Users/Kevin/EECS/blobGame/out/artifacts/blobGame_ear_exploded/"></property> 
 
     <property name="org.glassfish.ejb.container.application_unique_id" value="98074431158681600"></property> 
 
     <property name="defaultAppName" value="blobGame_ear_exploded"></property> 
 
     <module name="web.war"> 
 
     <engine sniffer="ejb"></engine> 
 
     <engine sniffer="security"></engine> 
 
     <engine sniffer="weld"></engine> 
 
     <engine sniffer="web"></engine> 
 
     </module> 
 
     <engine sniffer="ear"></engine> 
 
    </application> 
 
    <application context-root="/blobGame_war_exploded" object-type="user" name="blobGame_war_exploded" directory-deployed="true" location="file:/C:/Users/Kevin/EECS/blobGame/out/artifacts/blobGame_war_exploded/"> 
 
     <property name="archiveType" value="war"></property> 
 
     <property name="appLocation" value="file:/C:/Users/Kevin/EECS/blobGame/out/artifacts/blobGame_war_exploded/"></property> 
 
     <property name="org.glassfish.ejb.container.application_unique_id" value="98074431158812672"></property> 
 
     <property name="defaultAppName" value="blobGame_war_exploded"></property> 
 
     <module name="blobGame_war_exploded"> 
 
     <engine sniffer="ejb"></engine> 
 
     <engine sniffer="security"></engine> 
 
     <engine sniffer="weld"></engine> 
 
     <engine sniffer="web"></engine> 
 
     </module> 
 
    </application> 
 
    </applications>

二,爲什麼不部署仍然使用以前的器物(如我假設他們是)當我重新部署或重新啓動服務器?

具體而言,當我按下重新啓動,我得到完全相同的HTML和我留下了之前的JavaScript文件,即使我在我的第二調試前的時間編輯的HTML或JS文件。 (我在新的調試中添加了警報(「測試」),但它並未顯示在新的調試中)。當我單獨訪問index.html頁面時,警報顯示出來)。

這裏是index.html的

<!DOCTYPE html> 
 
<html lang="en"> 
 
    <head> 
 
     <meta charset="UTF-8"> 
 
     <title>keyBoardDemo</title> 
 
    </head> 
 
    <body> 
 
     <canvas id="canvas" width="800" height="600" style="border:1px solid #000000;"></canvas> 
 
     <p id="main"></p> 
 
     <script type="text/javascript" src=resources.js></script> 
 
     <script type="text/javascript" src=canvas.js></script> 
 
     <script type="text/javascript" src=keyboard.js></script> 
 
     <script type="text/javascript" src=packethandler.js></script> 
 
     <script type="text/javascript" src=player.js></script> 
 
     <script type="text/javascript" src=websocket.js></script> 
 
    </body> 
 
</html>

這裏是canvas.js它調用:

alert("test 123"); //this is not called on the second redeployment! 
 

 

 
var canvas = document.getElementById("canvas"); 
 
var context = canvas.getContext("2d");

回答

1

首先,這些工件是如何部署的?當我部署他們,我必須有網址...

默認情況下,IDEA計算上下文根從工件名稱,用下劃線替代不支持的字符。因此,'blobGame:war爆炸'神器,默認情況下得到'blobGame_war_exploded'上下文根。

要更改上下文根神器,你可能要打開運行配置的「部署」選項卡,選中「使用自定義的上下文根」並輸入所需的值設置到字段

「打開瀏覽器'服務器'選項卡上的'字段不會影響服務器設置,它只是允許您在服務器啓動後打開您喜歡的任何URL。字段值默認爲從第一個工件計算出的URL,但是一旦用戶更改了它,IDEA就會假定用戶知道的更好。

具體而言,當我按下重新啓動,我得到完全相同的HTML和我留下了之前的JavaScript文件,...

預期的順序如下:

  1. 對資源進行更改
  2. 使用提及的'更新<>應用程序'操作更新服務器上的應用程序:'更新資源'選項應該足夠用於分解應用程序,重新部署/ r estart可能需要歸檔神器
  3. 重載(刷新)的頁面,使用該資源在瀏覽器

我懷疑你錯過了最後一個步驟(3)。請注意,步驟(2)僅更新服務器上的資源,並且要查看瀏覽器中的更改(在客戶端上),您應通過手動刷新頁面從服務器重新加載相應的資源。

希望幫助, 我要your second post重定向到這個答案

+0

不,我總是這樣,每當我重新啓動服務器或重新部署或更新類等刷新我的Chrome瀏覽器(使用網頁).. .. 這是行不通的。就像我說的,即使在重新啓動IntelliJ之後,即使文件已被修改,仍然保留我未更改的部署。 –

+0

請提交新的youtrack,並將(私下)附加到.idea文件夾中。如果您不熟悉YouTrack,請參閱https://intellij-support.jetbrains.com/hc/en-us/articles/207241135。 –

相關問題