2015年10月8日 星期四

在 jboss 上佈署 servlet 程式 : 以報表工具finereport為例

 

工作上需要,在 jboss 上佈署 finereport ,佈署起來不會太難,筆記一下!



一、Java歸檔文件(.war)與部署


JAR是指Java Archive,也就是Java 歸檔文件,是與平台無關的文件格式。它允許將許多文件組合成一個壓縮文件。我們通常把一組關聯的,相互輔助的,聯合作用的java文件打成一個jar包,便於我們部署和使用。

這樣的jar包是很常見的,比如你從開源社區下載了一個具備某種功能的開源包,就是以jar包的形式出現的。JAR 包的格式以ZIP 文件格式為基礎,但是與 ZIP 文件不同是,JAR 文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。

在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。  我們一般使用jar包來做下面的工作:

  1. 用來發布和使用類庫;    
  2. 用來為應用程序和擴展組件構建使用單元;    
  3. 用來作為組件、applet 或者插件程序的部署單位;  
  4. 用來打包與組件相關聯的輔助資源;




二、範例:在 jboss 上佈署 servlet 程式 



0. 準備範例工具


Windows7、jboss、jdk、servlet (以FineReport為例)


1. 生成war包


下載安裝 Java SE Development Kit 來提供製作war包的環境,在有jar.exe的目錄下執行指令生成的war包(.war)

  • 版本 : 製作war包的 j2sdk 需要 1.4.2以上版本
  • 路徑 : Java\jdk1.8.0_60\bin
  • 指令 : jar -cvf [name].war *,本例中是 jar -cvf WebReport.war *


2. war包放置到jboss目錄


下載安裝 JBOSS ,並把war包放到jboss的standalone目錄下

  • 路徑 : %JBOSS_EAP%\EAP-6.4.0\standalone\deployments (不同版本jboss deployments資料夾位置可能不同)
  • 實際上finereport的資料夾將欲發布的webreport資料夾加上.war後綴即可發布,真的用jar打包反而會找不到路徑報錯...


3. JBOSS佈署war包


開啟JBOSS "啟動伺服器",此時原來的war包旁會自動生成war.deployed檔表示佈署完成,且JBOSS的admin介面會有該佈署的基本資訊(deployments裡的readme有詳細的jboss佈署介紹),網址也可以使用了

  • 預設佈署失敗時可能需要調整 WEB-INF資料夾 與 web.xml(部署敘述檔),請小心修改!
  • 預設網址 : http://localhost:8080/[.war name],finereport的預設網址為http://localhost:8080/WebReport/ReportServer?reportlet=GettingStarted.cpt


4. JBOSS開啟外部IP連線


症狀 : 連上server本機使用瀏覽器瀏覽,從外部都不行(確定防火牆已開),原來是還要設定以下:

修改${JBOSS_HOME}/standalone/configuration/standalone.xml

找到以下這段

    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:127.0.0.1}"/>
        </interface>

  </interfaces>


將其中的name="public"裡面的value改為:

<inet-address value="${jboss.bind.address:0.0.0.0}"/>

就可以了,同樣的管理console如果也要能外連,更改name="management"就可以了。



[補充] Set JAVA_HOME : Find JDK Installation Directory


you need to know the installation path for the Java Development Kit. for example :

  • C:\Program Files\Java\jdk1.6.0_10
  • Note: one has only to put the path to the jdk without /bin in the end (as suggested on alot of places)

Set the JAVA_HOME Variable

  • Right-click the My Computer icon on your desktop and select Properties.
  • Click the Advanced tab, then click the Environment Variables button.
  • Under System Variables, click New.
  • Enter the variable name as JAVA_HOME.





References


Tomcat default servlet 的url-pattern
http://fecbob.pixnet.net/blog/post/38258307-tomcat-default-servlet-%E7%9A%84url-pattern

Jboss服務器部署
http://www.finereporthelp.com/6.5.5doc/4/0/4/0.html

FineReport Jboss服務器部署
http://jingyan.baidu.com/article/0f5fb099e9482e6d8334ea87.html

使用FineReport 報表軟體如何打war包及部署
http://t17.techbang.com/topics/33249-using-finereport-report-software-how-to-play-war-and-deployment?mode=print&page=1






技術提供:Blogger.