gpt4 book ai didi

java - 添加工作目录来构建

转载 作者:太空宇宙 更新时间:2023-11-04 07:09:18 25 4
gpt4 key购买 nike

我在将工作目录中的依赖项添加到我的 .jar 时遇到问题。当我尝试从命令行运行 .jar 时,出现错误,提示我尝试访问的文件不存在。为什么 netbeans 不在构建依赖项中包含工作目录,这似乎是一件非常简单且明显的事情......

我只是想读取位于 res/settings/settings.txt 的文件。我已将我的工作目录设置为 res 文件夹,以便在 netbeans 中我可以通过“settings/settings.txt”成功访问该文件。我尝试将设置文件夹设为库,以便将其添加到构建中,但它拒绝复制它,因为它是一个目录。

如何将此文件添加到构建中,以便可以从命令行运行它?

最佳答案

为什么要这么做?工作目录只是应用程序的“测试”位置。构建过程不是“打包”过程。

Netbeans 为您提供了一个 build.xml 文件,您可以修改该文件来执行自定义操作,但请考虑这一点,每次构建应用程序时,都可以执行这些自定义构建操作/目标。这可能会给您的构建过程增加相当多的时间。如果您只是进行一些小的更改,这可能并不理想。

然后我想到了两个解决方案。

  1. 您可以在 build.xml 文件中创建自定义构建目标,您需要通过右键单击 build.xml 文件(在文件 View 中)并选择 Run Target 并从级联菜单中选择所需的目标来触发该目标...根据经验,这并不像听起来那么方便。您还可以从命令行运行 build.xml 文件,指定您想要的目标...
  2. 制作另一个 ant 脚本来单独打包您的应用程序。这与第一条评论类似,只是您完全分离了构建和打包过程。

我正在开发一个非常大的应用程序,该应用程序需要 15 分钟以上才能构建(完全)。我们编写了一个实用程序,它会遍历所有 Netbeans 项目属性并构建它自己的依赖关系图,然后生成一个 Ant 构建脚本。然后,我们将其包含在我们自己的打包脚本中,这样当我们想要创建版本时,我们就可以构建应用程序并将其打包在一次传递中。这将构建时间缩短到了大约 3 分钟(不要问为什么,它就是这么做了),这也意味着我们可以从构建过程中消除对 Netbeans 的直接依赖。

所以。基本答案是。 Netbeans 是一个构建器,而不是打包器。为了提供这种支持,您必须自己编写一些东西。最简单的方法就是编写一些 Ant 脚本来执行此操作。在哪里执行此操作取决于您。

关于java - 添加工作目录来构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com