2011-09-20 45 views
1

我有一個Jar,它從配置文件中指定的某個路徑獲取DLL。 我將該配置文件保存在執行我的應用程序的位置。 該DLL也安裝在別的地方。如何製作包含DLL的Jar?

現在我想讓我的Jar應該由(類別&)DLL組成。我不想給任何路徑,因爲該配置文件可能不存在。

如何繼續?如何製作jar以及需要做什麼更改?

+0

http://download.oracle.com/javase/1.5.0/docs/tooldocs/windows/jar.html –

+1

你現在如何打包你的JAR?你有手工製作的Ant腳本嗎?您是否正在使用諸如Eclipse之類的IDE的內置功能? –

回答

2

如果您的應用程序。有一個GUI,在應用程序的運行時類路徑中包含本機庫的簡單方法是使用Java Web Start來部署它。以下是啓動文件JNLP的資源部分的外觀。

<resources > 
    <j2se version="1.6+"/> 
    <!-- Supply this resource to all --> 
    <jar href="ourapp.jar" size="100000" /> 
</resource> 
<!-- Supply this resource to SunOS/sparc only --> 
<resources os="SunOS" arch="sparc"> 
    <nativelib href="sunlibs.jar" size="250000" /> 
</resource> 
<!-- Supply this resource to Windows only --> 
<resources os="Windows"> 
    <nativelib href="winlibs.jar" size="300000" /> 
</resource> 

JWS分區的下載,所以Mac。任何非SunOS * nix都只能獲得100,000個字節的核心Java。 SunOS總共下載350,000字節,Windows獲得400,000字節。然後,應用程序可以加載使用類似原生:

System.loadLibrary("ournative"); 

之後,本機應該被加載,並準備在其本地供給任何操作系統中使用。

部署通過。 JWS有許多優點,包括:

  • 一種跨平臺且便捷的部署本機的方式。
  • 本機分區下載。
  • 自動更新應用程序資源(類,本機等)
  • 通過自動更新避免「DLL地獄」。