簡體   English   中英

關於Java中Web應用程序的“org.eclipse.wst.server.core”文件夾的一般問題很少

[英]Few general questions about “org.eclipse.wst.server.core” folder of a web application in Java

關於eclipse工作空間中.metadata\\.plugins文件夾中的org.eclipse.wst.server.core文件夾,我有幾個問題。 我知道在本地主機中運行應用程序時,這是我們必須替換前端文件的文件夾,如JSPJS文件, CSS文件, HTML文件, Images等。

將有一些tmp文件夾,我必須將文件替換到相應的位置。 這個文件夾將有另一個文件夾,其結構為WAR文件,我將從我的工作空間中獲取,有時會有多個tmp文件夾,如tmp0tmp1tmp2等(其中大部分都有所有必需的文件)。 當有多個文件夾時,確定我需要替換文件到哪個文件夾是很困惑的。

在此輸入圖像描述

然后我將不得不停止服務器,殺死所有在后台運行的java (手動)並且必須清除所有tmp文件夾(因為如果沒有正確殺死java, tmpjar文件無法刪除說當前正在使用)。 我想服務器使用這些tmp文件夾中的一個來運行應用程序。

如果我再次啟動服務器清理所有tmp文件夾后,在該文件夾( org.eclipse.wst.server.core )中創建的第一個文件將是一個servers.xml ,那么將創建一個tmp0可能是tmp1 發布整個項目時,只有一個tmp文件夾,如果我多次發布,則會創建另一個tmp文件夾,可能是第二次,第三次或第n次。

所以我的問題是

  1. org.eclipse.wst.server.core文件夾是否有通用名稱?
  2. 為什么多次公布時會創建多個tmp文件夾? 我們可以將它限制在一個tmp文件夾中嗎?

  3. 項目發布后,服務器是否有可能使用多個tmp文件夾來處理不同的請求。 喜歡第一個請求我使用tmp0 ,當我刷新頁面時,它使用tmp1文件夾?

關於第3個問題編輯

我打開了上圖中給出的文件夾中的所有xml文件,在tmp-data.xml ,我找到了這個內容

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<temp-directories>
  <temp-directory age="0" key="GlassFish v2.1 Java EE 5 at localhost" path="tmp0"/>
</temp-directories>

其中path屬性的值為tmp0 所以我猜這將是我第三個問題的答案。 我猜這個文件將在有多個tmp文件夾時創建,因為刪除文件夾中的所有tmp文件夾和文件后,在發布工作空間后, tmp-data.xml文件不存在。

編輯了WTP

我沒有太多關於WTP的細節,但當我點擊Help並在我的日食中選擇About Eclipse ,我得到了這個窗口

在此輸入圖像描述

  1. 從來沒聽說過。 它由WTP(Web工具平台)使用WST(Web標准工具)創建。 如果你找到了,也讓我知道。

  2. 這取決於WTP和WST在發布工件之前所做的不同檢查。 它不會一直發生,但它比預期的要多得多,因為文件鎖可以阻止eclipse發布應用程序的新副本。 因此,代碼必須嘗試創建新的tmp文件夾,就像解決方法一樣。 然后更新元數據(publish.xml),一切正常,我覺得這樣做要好得多,因為開發人員不必知道很多關於這些失敗的東西。 我們可以在eclipse中的服務器屬性中更改此設置。 請注意,不同的插件有不同的方法,我的STS默認部署路徑設置為wtpwebapps。

  3. 這必須在您的發布xml文件中可用。 它還取決於您使用的WTP / WST版本。 很難看到文件夾生成的位置(至少在我這個時候),但你可以在WTP中查看PublishUtils.java和PublishDelegate.java。 Github在這里

  4. 當然,在項目發布后,整個服務器指向工件所在的位置。 雖然由於線程重疊或等待時間而導致上下文刷新失敗,但是不可能將兩個不同的實例部署到具有相同應用程序/上下文名稱的同一服務器中。

閱讀本文此內容

暫無
暫無

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

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