build.xml和build-impl.xml之间的区别

时间:2015-11-18 04:56:29

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

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:4)

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

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

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

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

  

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

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

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

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

上面已经回答过。 时不要深入,它只是用于构建你的应用程序。当您使用Ant(命令行)手动构建应用程序时,您将了解何时!

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

我已经提供了Ant上的NetBeans教程和上面构建的链接。去参观吧。这涵盖了build.xml和build-impl.xml中包含的信息。

  
      
  1. 是自动生成还是必须手动创建?
  2.   

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

答案 1 :(得分:2)

嗯,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功能,则Run,Debug和Test等命令仅使用此构建脚本。 build-impl.xml由前一点中所述的组件使用。

4)上面回答

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

更新: 这两个文件的范围严格适用于Netbeans IDE。要远离netbeans部署项目,您只需要获取提取的jar或Web应用程序的战争,并将它们直接部署到容器中。

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