【问题标题】:difference between build.xml and build-impl.xmlbuild.xml 和 build-impl.xml 之间的区别
【发布时间】:2015-11-18 04:56:28
【问题描述】:

我正在研究用 java 编写的已经构建且运行良好的 Web 应用程序的代码。在那个项目中,我找到了两个文件,build.xml 和 build-impl.xml,其中包含与可以对项目进行的操作相关的不同信息。看不懂

1) 为什么需要两个不同的文件 build.xml 和 build-impl.xml?

2) 以上两个文件中哪个是强制性的?

3) 谁使用这些文件以及何时以及如何使用这些文件?

4) 它们包含哪些确切信息?

5) 它们是自动生成的还是必须手动创建的?

【问题讨论】:

  • 通常build.xml用于Apache Ant,这是一个java构建工具。直到我看到你的帖子我才知道build-impl.xml,我猜这是NetBeans,所以你使用NetBeans 进行开发吗?
  • 是的,我使用 netbeans 进行开发。

标签: java netbeans ant build.xml build-impl.xml


【解决方案1】:

好吧,netbeans IDE 使用这两个文件来根据您的项目偏好强制执行特定行为。现在关于您的问题...

1) build.xml 包含对 build-impl.xml 的引用。这用于使用 build-impl.xml 行为覆盖 build.xml。如文件中所述,build.xml 仅由Clean and Build 命令使用。如 build.xml (If you delete it and reopen the project it will be recreated.) 中所述。 build.xml 不是那么重要。重要的文件是 build-impl.xml。

2) build-impl.xml 是必需的,因为它包含对 JVM、IDE 调试器、编译器、ant 部署工具等的指令...

3) Build.xml 仅供Clean and Build 使用。如果为项目关闭了Compile on Save 功能,则运行、调试和测试等命令仅使用此构建脚本。 build-impl.xml 由上一点所述的组件使用。

4) 以上回答

5) 两者都是由 IDE 自动生成的。您可以编辑 build.xml 但不能编辑 build-impl.xml(您不必这样做,因为它是由 IDE 自动生成的)。

更新: 这两个文件的范围仅限于 Netbeans IDE。要在 netbeans 之外部署项目,您只需要获取提取的 jars,或者在 web 应用程序的情况下获取 war,然后将它们直接部署到容器中。

据我所知,使用 Netbeans 创建的项目与在 Eclipse 中创建的项目之间没有直接关系。

【讨论】:

  • build-impl.xml 的范围是否仅限于 netbeans ?如果我在 netbeans 环境之外部署项目,那么 build-impl.xml 有什么用处?此外,eclipse如何提供netbeans通过build-impl.xml提供的功能?
  • @user2393267 查看我的更新
  • 然后不 Eclipse 蚂蚁构建工具。因为正如其他答案所暗示的那样,ant 需要 build.xml 。如果eclipse不使用ant,那它用什么来构建项目。
  • 谢谢,@Am_I_Helpful,但请回答我的问题,我是为你发布的。
【解决方案2】:
  1. 为什么需要两个不同的文件 build.xml 和 build-impl.xml?

默认情况下,Apache Ant(一个 Java 库和命令行工具,其任务是驱动构建文件中描述的进程作为相互依赖的目标和扩展点。)使用 build.xml 作为构建文件的名称。

我们需要构建我们的应用程序,例如,假设我们有几个类,如果有人想下载它们,不应该单独下载它们。所以,我们应该将我们的应用程序打包成一个 jar 文件(一个可启动的 jar 文件会很好地用于这个目的)。一旦您对您的应用程序正常运行感到满意,您就可以准备应用程序在您的系统/IDE/环境之外进行部署

而,来自Setting Up a NetBeans Platform Application :-

build-impl.xml 文件使您可以访问 NetBeans 平台 基础设施,例如其“运行”目标。你永远不需要 更改build-impl.xml 文件。另一方面,build.xml 文件是 Ant 脚本,您将在其中自定义,必要时,您的 应用程序的构建过程。


  1. 以上两个文件中哪一个是强制性的?

它们都不是强制性的。如果您有多个类文件(或资源),那么您应该构建您的应用程序。此外,如果您想在环境之外部署应用程序,则可以使用构建 jar 文件。后者默认存在于任何 NetBeans Java 应用程序中。

  1. 谁使用这些文件,何时以及如何使用?

上面已经回答了。不要深入when,它只是用于构建您的应用程序。当您将使用 Ant(命令行)手动构建应用程序时,您会知道什么时候!

  1. 它们包含哪些确切信息?

我在上面提供了 NetBeans Tutorial on Ant 和 build 的链接。去参观那个。这涵盖了 build.xml 和 build-impl.xml 中包含的信息。

  1. 它们是自动生成的还是必须手动创建的?

不,默认情况下您同时拥有build.xmlbuild-impl.xml(使用 NetBeans 应用程序时自动生成)。而且,您永远不需要更改build-impl.xml.

【讨论】:

  • 您能否详细说明问题编号。 4和5?
  • 你在第 1 点告诉我,ant 制作了 jar/war,但我找不到任何创建的 war/jar,即使在通过 ant 清理和构建项目之后也是如此。
  • @user2393267 - 了解如何通过 Ant 构建 Java 应用程序 ---> ant.apache.org/manual/tutorial-HelloWorldWithAnt.html,您是否在构建文件中定位了 mkdir,然后,<jar destfile="build/jar/MainClassName.jar" basedir="build/classes">?检查您的构建文件,
  • 我的 build.xml 文件中没有任何 标签。
  • @user2393267 - 你想问什么?尽管进行了构建,您的项目仍会运行,它有不同的用途。重新访问我的答案。只是为了分发,人们选择 jar 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
  • 2011-01-27
  • 2011-11-10
  • 1970-01-01
  • 2011-08-19
  • 2023-04-03
相关资源
最近更新 更多