【问题标题】:How do I build a .jar in Netbeans with relative folder dependencies? [duplicate]如何在具有相对文件夹依赖关系的 Netbeans 中构建 .jar? [复制]
【发布时间】:2013-06-20 23:19:51
【问题描述】:

我目前正在与我和我的朋友用 Java 开发一个简单的 RPG 游戏。我正在做的一件事是通过 .txt 文件绘制基于图块的地图,这样我可以轻松地存储和编辑地图。目前我正在加载这样的地图:

这是项目目前的组织方式:

我的问题是,在 Netbeans 中,我如何设置编译,这样当我进行干净编译时,它会自动将 .txt 文件包含在正确的路径中,这样我就可以将 .jar 发送给想要玩的朋友? (或发送包含 .jar 和 /Maps/map1.txt 文件的 .zip)任何解决方案都有帮助,谢谢大家!

【问题讨论】:

  • 两种方式。您可以修改-post-jar 目标上的build.xml,或者您可以将文件维护为捆绑资源(在jar 内)
  • 罐子是拉链,顺便说一句。压缩罐子没多大用处。
  • 如何执行前者?我从来没有摆弄过 build.xml,也不知道从哪里开始。
  • 对于部署 Java 桌面应用程序,最好的选择通常是安装应用程序。使用Java Web Start。 JWS 适用于 Windows、OS X 和 *nix。
  • 上周我使用this answer成功完成了这项任务。

标签: java netbeans build compilation io


【解决方案1】:

正如 MadProgrammer 所说,您可以在 -post-jar 目标上编辑您的 build.xml。为此,您可以参考this 链接、this 链接和this 问题。

  1. 如果您还必须包含库,请尝试一个简单的 DOS 脚本。像往常一样使用 Netbeans 构建 java 项目,然后在 NetBeans 项目目录中创建一个名为“NewDist”的目录,并创建一个名为 JarMaker.bat 的文件。这是脚本。

    @echo off  
    echo * -------------------------------------------------------- *  
    echo * -      JarMaker V 2.0.0 - For Netbeans Projects        - *  
    echo * -------------------------------------------------------- *  
    echo 1) Creating Temporary Directory  
    mkdir classes  
    echo 2) Copying Library Jars  
    xcopy  /s /y ..\dist\lib\*.jar classes >> nul  
    cd classes  
    echo 3) Deflating Library Jars (this may take a while)  
    for /f %%a IN ('dir /b *.jar') do jar xf %%a >> nul  
    del *.jar >> nul  
    cd ..  
    echo 4) Deflating Main Program Jar  
    xcopy /y ..\dist\*.jar classes >> nul  
    cd classes  
    for /f %%a IN ('dir /b *.jar') do jar xf %%a >> nul  
    del *.jar >> nul  
    echo 5) Creating Unique Jar (this may take a while)  
    jar cvfm ../dist.jar META-INF/manifest.mf ./ >> nul  
    for /f %%a IN ('dir /b ..\..\dist\*.jar') do ren ..\dist.jar %%a >> nul  
    cd ..  
    echo 6) Removing Temporary Files  
    rmdir /s /q classes >> nul  
    echo * -------------------------------------------------------- *  
    echo * -         JarMaker V 2.0.0 - Process Complete          - *  
    echo * -------------------------------------------------------- *  
    

Source

如果你想包含图片,take a look at this question

【讨论】:

  • 所以我尝试了这个:i.imgur.com/jKc3jVu.png,但它仍然无法加载地图。
  • 尝试将其添加到最后一行“”的正上方。如果它不适合你,请检查我编辑的答案。
猜你喜欢
  • 1970-01-01
  • 2013-07-13
  • 2015-09-19
  • 2023-03-18
  • 1970-01-01
  • 2019-04-05
  • 2020-04-09
  • 2021-11-01
  • 1970-01-01
相关资源
最近更新 更多