簡體   English   中英

無法為Windows打包的Java應用程序中提取jar文件

[英]Cannot extract jar file in java application packaged for windows

我的程序是在Netbeans 8.0.2中創建的。 該程序應在安裝后創建一個(數據庫)文件夾,並從其庫中提取(數據庫)jar文件的內容。 可以很好地創建該文件夾,但是不會提取ja​​r文件的內容。 如何提取jar文件才能正常工作? 注意:當我在Netbeans中運行該程序時,一切都進行得很好。

樣例代碼:

    String appHomeDir = new java.io.File(".").getCanonicalPath();
    String destDir = appHomeDir + "/database";
    File folder = new File(destDir);
    if (!folder.exists()) {
    folder.mkdir();
    String current = new java.io.File(".").getCanonicalPath();
    String jarFile = current + "\\app\\lib\\database.jar";
    java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);
    java.util.Enumeration enumEntries = jar.entries();
    while (enumEntries.hasMoreElements()) {
    java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries.nextElement();
    java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName());
    if (file.isDirectory()) { // if its a directory, create it
    f.mkdir();
    continue;
    }
    java.io.InputStream is = jar.getInputStream(file); // get the input stream
    java.io.FileOutputStream fos = new java.io.FileOutputStream(f);
    while (is.available() > 0) {  // write contents of 'is' to 'fos'
    fos.write(is.read());
    }
    fos.close();
    is.close();
    }
    }

因此,將創建“數據庫”目錄,但不會提取“ database.jar”的內容。

解決的問題:我將“ /app/lib/database.jar”替換為“ /lib/database.jar”

暫無
暫無

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

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