3

从网络驱动器上的目录构建 JavaFX 项目非常慢。我相信大部分延迟是由构建脚本删除并重新创建整个 /lib 目录引起的。这包括超过 20 MB 的 jar 文件,这些文件在我的项目中保持不变。

如何修改 ANT 构建任务,以便每次构建项目时都不会重新创建这个 lib 文件夹?还可以做些什么来减少构建时间?

在我的网络上构建时间缓慢的另一个原因是项目总是从 /dist 文件夹运行。对于标准的 Java SE 项目,项目可以从 build 目录运行,无需在每次项目运行时在 /dist 中创建新的 jar 文件。

有没有办法从构建目录中的 .class 文件运行项目,而不需要从 /dist 运行?

以下是 netbeans 生成的构建文件:

4

2 回答 2

5

查看更多构建文件会很有帮助,可能会更改您运行的任何目标的目标依赖关系图。换句话说,制作一个不删除的目标 lib/

一个更大更酷的解决方案是使用ivy将这些库一次性下载到~/.ivy它们将被缓存的位置,并且每次签出时都不需要获取它们。这将允许您从源代码控制中删除这些二进制文件。

什么原因阻止您在本地构建?

于 2013-10-09T21:48:56.033 回答
2

以下建议仅根据您对环境中构建速度慢的描述为您的开发工作提出建议。通常,如果 NetBeans JavaFX 项目开发构建已经足够快,则不应使用上述设置。对于包装生产应用程序,您将需要使用不同的设置。

如何在 NetBeans 下快速构建 JavaFX

  1. 投资固态硬盘。
  2. 遵循 kbb 的建议,将库文件放在您的机器本地。
  3. 使用 NetBeans 7.4 + Java 8 并创建标准 Java 项目而不是 JavaFX 项目。
  4. 在项目属性下 | 库取消选中:
    • 在 Classpath 上构建项目
  5. 在项目属性下 | 构建 | 包装取消选中:
    • 压缩 JAR 文件
    • 编译后构建 JAR
    • 复制依赖库
  6. 在项目属性下 | 构建 | 部署取消选中:
    • 在项目菜单中启用本机打包选项
    • 如果默认情况下不存在,则将 JavaFX RT 工件保留在编译类路径上。
  7. 在项目属性下 | 应用 | 网络启动取消选中:
    • 启用网络启动

如果您最终无法使用 NetBeans 解决构建性能问题,您可能想尝试 Intellij Idea(我发现它在构建 JavaFX 项目方面非常有效)。

我的 NetBeans 构建经验

一个标准的 NetBeans JavaFX 项目对我来说可以非常快速地构建和运行 JavaFX 项目(不超过一两秒)。即使没有应用上面的大多数构建速度建议。几秒钟内构建的项目引用了超过 75 个库,总计超过 55MB 的数据。但是,构建时间是在使用本地库时,而不是在使用存储在网络上的库时。此外,快速构建使用的是 Macbook Air(具有 SSD)。

如果项目已签名,则每个库 jar 的签名过程需要几秒钟。

于 2013-10-10T06:13:30.520 回答