顯示具有 GlassFish 標籤的文章。 顯示所有文章
顯示具有 GlassFish 標籤的文章。 顯示所有文章

Using GlassFish in Eclipse

在Eclipse中使用GlassFish Server前,請先安裝GlassFish和GlassFish Tool,安裝說明如下列網址
Install GlassFish Server
Install GlassFish Tool

接著按照下列步驟設定,設定完成後就能在Eclipse發布resource至GlassFish Server


New Server

選擇GlassFish,我安裝的是3.1所以選這個版本

設定Runtime與GlassFish安裝路徑
此時發現,沒有JDK可選,先將設定步驟暫停一下,回頭設定JDK

========設定JDK  開始========




========設定JDK  結束========

經過四個步驟的JDK設定,再回到設定Runtime與GlassFish安裝路徑,已經有JDK可選了

設定domain,如果設定domain有問題,請參考這篇glassfish\domains\domain1 does not exist

至此已設定完成,再來將想架在GlassFish上的resource加進去即可



com.microsoft.sqlserver.jdbc.SQLServerDriver not found

use MS JDBC Driver in Tomcat / GlassFish提到在GlassFish使用MS的JDBC,必須要把sqljdbc4.jar放到C:\glassfish3\glassfish\domains\domain1\lib\ext位置

結果繼續在同個java專案寫第二隻RESTful,竟然連第一隻都掛了,改了N次寫法,最終還是暫時把最近學@ManyToOne先註解調,先用最簡單測試過的方式撰寫,錯誤竟然變成com.microsoft.sqlserver.jdbc.SQLServerDriver not found,這個錯誤明明就在use MS JDBC Driver in Tomcat / GlassFish解決了不是嗎@@

程式碼改了又改,GlassFish重啟N次,VM記憶體一直被吃滿滿,最後~當我再把sqljdbc4.jar複製一份到C:\glassfish3\glassfish\domains\domain1\lib\位置並且重啟,就好嘞!!

目前是以下二個位置都有sqljdbc4.jar  特此紀錄,之後有看到可供佐證的文章再來確認@@
C:\glassfish3\glassfish\domains\domain1\lib\ext
C:\glassfish3\glassfish\domains\domain1\lib\

然後,這次還有個小心得~自己下command啟動GlassFish Server比Eclipse好用,又快又不會失敗 lol

<後記>
後來在Oracle官網找到一篇Making the JDBC Driver JAR Files Accessible,文中提到jar到底要放哪
copy the JAR files into the domain-dir/lib directory   一般JDBC
copy the JAR files into the domain-dir/lib/ext directory      Oracle database with EclipseLink extensions

不過這篇的GlassFish版本是3.0.1說~
針對我用的版本3.1.2.2又在Oracle官網找到Specifying the Persistence Provider for an Application,也是提到要放在domain-dir/lib directory

所以本來的做法明明就對呀@@
再觀察看看好了

Install GlassFish Tool

安裝好GlassFish,要開始在Eclipse中使用!
使用前,請先按照本文在Eclipse中安裝GlassFish Server開發工具

從功能選單的File→New→Others...選擇Server

Server Type根本沒GlassFish可選,那麼就點選右上的Download additional server adapters

有一堆Server Tool可以裝

找到GlassFish來裝

接受使用條款

一路等它安裝,安裝完後重開,成功!



最後,在瀏覽器輸入網址http://localhost:4848/common/index.jsf
若有以下畫面,表示你真的安裝成功^^ (前提是Server有Start喔)



參考文章
Eclipse 整合 GlassFish 3 開發環境
在Eclipse中安裝GlassFish Server開發工具
Eclipse Juno 中安裝 GlassFish

Install GlassFish Server

最近在看Java,想要改寫手邊一個小練習,體驗一下Java EE環境下的開發方式

問題來了,新增EJB Project時需要選TargetRuntime,怎麼沒有Tomcat呢?
原來Tomcat只是個Servlet容器,在Java EE是不夠用的,我們需要再找一個較全面的Java EE容器~GlassFish


首先至官網下載GlassFish,本文安裝ogs-3.1.2.2-windows.exe

一路用預設值安裝,若遇到8080 port被Tomcat佔用,解決方式請參考change Tomcat default port 8080 for GlassFish

安裝畫面如下






這個帳密的部分,如果按照預設,那就是不需密碼


安裝過程基本上就是這樣,都選預設值即可Next到底
至於如何在Eclipse中使用GlassFish請參考另一篇

use MS JDBC Driver in Tomcat / GlassFish

Tomcat與GlassFish用法大致相同,只有jar包的儲存位置有差異,步驟如下

●下載JDBC Driver
Microsoft JDBC Driver 4.0 for SQL Server下載sqljdbc4.jar

●把JAR包放到lib資料夾
 ◎Tomcat
       放至Tomcat Server安裝位置的lib資料夾,如果Tomcat安裝在C:\Tomcat\,那就放到C:\Tomcat\lib
 ◎GlassFish
       放至GlassFish Server其domain下的ext資料夾,如果GlassFish安裝在C:\glassfish3\,且domain名稱為domain1,那就放到C:\glassfish3\glassfish\domains\domain1\lib\ext

●定義persistence.xml
< ?xml version="1.0" encoding="UTF-8" ?>
< persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0" xmlns="http://java.sun.com/xml/ns/persistence">
    < persistence-unit name="jpa unit name" transaction-type="RESOURCE_LOCAL">
        < provider>org.eclipse.persistence.jpa.PersistenceProvider</ provider>
        < exclude-unlisted-classes>false</ exclude-unlisted-classes>
        < properties>
            < property name="javax.persistence.jdbc.driver"
                value="com.microsoft.sqlserver.jdbc.SQLServerDriver" / >
            < property name="javax.persistence.jdbc.url"
                value="jdbc:sqlserver://sqlserver的位址:1433;databaseName=資料庫名稱" / >
            < property name="javax.persistence.jdbc.user" value="資料庫帳號" / >
            < property name="javax.persistence.jdbc.password" value="資料庫密碼" / >
        </ properties>
    </ persistence-unit>
</ persistence>

glassfish\domains\domain1 does not exist

GlassFish安裝完畢,開始在Eclipse新建GlassFish Server,結果卡關~拋錯glassfish\domains\domain1 does not exist
但安裝時明明就預設建立了名稱為domain1的網域@@

解決方法如下
●檢查C:\glassfish3\glassfish\config\asenv.bat的設定
請確認裡面的AS_JAVA=是指向正確的JDK位置
(我的VM存在多人使用不同版本jdk的狀況,所以這部分要改)

●執行C:\glassfish3\glassfish\bin\asadmin.bat

●輸入create domain語法
create-domain --adminport 4848 domain1

●輸入網域管理者帳號
我的帳號安裝時預設是admin

●輸入網域管理者密碼
我的密碼預設是空白,直接按enter即可

●成功
C:\glassfish3\glassfish\domains下也會出現一個名為domain1的資料夾,裡面有相關設定檔

Eclipse也恢復正常


參考文章
eclipse error: glassfish\domains\domain1 does not exist

change Tomcat default port 8080 for GlassFish

安裝GlassFish一開始就出現這個畫面

原來GlassFish要求使用port 4848和8080,可問題是之前已經安裝了也使用8080 port的Tomcat,反正GlassFish比較強大有涵蓋Tomcat的功能,可以直接放棄Tomcat啦,但想想還是不甘心,於是按照How to change Tomcat default port 8080修改了預設port

明明把port改為8082,為何Eclipse拋出錯誤"Serveral port(8080, 8009) required by Tomcat v7 Server at localhost are already in use."呢?

後來把Eclipse中的Server刪除,重新登入(因為VM有其他同事使用所以先自己嘗試登出,而非重開),過了幾分鐘後,我的Tomcat總算復活,可愛貓畫面也如期出現在http://localhost:8082/

幸好解決了,不然用Eclipse寫的服務都全掛@@