2012-09-05 30 views
0

我正在移動使用Glassfish的Java EE程序。我想出了一種將所有依賴關係打包到單個JAR中的方法,但還沒有真正想出如何將所有Netbeans JDBC連接與Glassfish進行移植。事實上,我並不知道如何複製該程序與Glassfish的集成 - 它由Netbeans完成。將Glassfish Java EE程序移至另一臺機器

我一直在尋找與像「另一臺機器上部署戰爭」或「移動Java EE的程序到另一個GlassFish服務器」等關鍵字,但無濟於事。

任何建議將是偉大的!

編輯:我想出了問題。我的項目被格式化爲NetBeans中的「應用程序客戶端」,這似乎意味着它只會創建一個獨立的JAR。當我使用One Jar方法創建程序的獨立JAR時,一切正常。 Glassfish甚至沒有必要,儘管當我早些時候嘗試使用Glassfish時(當我不知道它不需要Glassfish時)它仍然沒有正確部署JAR。

一個警告,不過,是的persistence.xml也包含在JAR,這意味着一旦項目建成,它在生產「正確的」 JDBC予以指點。

+0

部分不能你只需在新機器上安裝NetBeans和Glassfish,然後將您的項目複製到該機器,將其重新導入到NetBeans中並進行部署? –

+0

公司規則規定生產機器不能安裝IDE –

回答

0

假設您有一個基本的Web應用程序,您可以按照以下步驟操作。

首先,複製分貝連接器(一個或多個)到該文件夾​​GLASSFISH_INSTALL/glassfish/lib

然後,複製你叫什麼dependancies。這些很可能是先前安裝的DataSource/JNDI /連接池/ JMS /安全領域定義和設置。您可以在以前的GlassFish安裝的域configuration文件中找到它們。該文件被稱爲domain.xml,位於GLASSFISH_INSTALL/glassfish/domains/domain1(假設您使用域domain1)。最終嘗試將此文件的相關部分複製到新的GlassFish路徑。但我強烈建議通過admin console進行參數化。

重新啓動GlassFish。

如果您打包您的應用程序到warearjar包,只需deploy它由asadmindeploy命令的手段,或者通過使用管理控制檯(如鏈接的文檔中解釋)。

+0

我實際上使用了此頁面的解決方案:http://alexismp.wordpress.com/2008/08/22/im-moving-from-the-netbeans-glassfish-development-服務器到一個生產服務器,和我的應用 - 不會 - 運行 - 幫助/。但是,我無法讓Netbeans製作EAR或WAR。儘管它是一個使用EJB的企業應用程序,它始終爲我提供JAR。我通過Glassfish web界面部署了JAR,並沒有做任何事情(而命令行調用確實運行了程序,但沒有Glassfish) –

+0

好吧,它是一個EJB模塊。它應該工作。否則,發佈堆棧跟蹤 – perissf

0

沒有關於你的項目,我不能給太多的具體步驟,但是,如果這是進入生產,你真的應該花一點時間來修復您的項目,使其建立自我包含的部署檔案庫的進一步詳情可能。例如,讓它使用glassfish-resources.xml中定義的應用程序範圍的資源。有它捆綁所有依賴JAR文件放到WEB-INF/lib目錄的WAR等

先前提到的反應將JDBC驅動程序JAR到$ GLASSFISH_HOME/GlassFish的/ lib目錄下。根據您的應用需求和/或驅動程序,這可能不是最佳位置。有關此主題的說明,請閱讀Configuring Specifics for JDBC Drivers

這聽起來像你可能是JavaEE堆棧的新手。如果您可以添加更多關於您正在構建的項目類型(WAR,EAR或EJB jar等)以及它所具有的當前依賴關係(JARS,JDBC連接池等資源)的詳細信息,那麼我可以爲您提供更具體的步驟。

同時,我建議您閱讀Glassfish Application Deployment Guide以瞭解如何將應用程序部署到Glassfish。

另一位導遊來讀取Administration Guide終於與發展中國家JavaEE6應用熟悉你的自我,你應該看看應用教程,是的Glassfish Reference Guides

相關問題