"Java Build Path"中的"Order and Export"选项卡

pro*_*eek 21 eclipse build

在此输入图像描述

"Java Build Path"对话框中"Order and Export"选项卡的用途是什么?通过名称'order',我可以猜测在插件依赖项之前搜索JRE系统库,但为什么我们在Build Path中有'Export'?什么是元素左侧的按钮?

添加

这是我从Eclipse中借鉴的例子.

orderes.webapp依赖于订单,但它可能使用ubl和catalog中定义的类.

在此输入图像描述

在这种情况下,订单可以导出catalog和ubl,以便依赖它的包可以使用catalog和ubl.

在此输入图像描述

更多关于"订单和出口"的内容.

  1. 检查左侧按钮会修改.classpath要添加的文件,exported=true例如<classpathentry exported="true" kind="lib" path="lib/log4j-1.2.7.jar"/>.
  2. 始终检查src,您无法取消选中它.

参考

Bri*_*nry 8

此选项卡似乎具有双重功能(请参阅此帮助页面的底部以获取少量详细信息).

一方面,它作为构建项目所用资源的解决顺序("订单"部分).另一方面,它还用于定义此构建路径的哪些部分对依赖项目的贡献(将这个项目列在"项目"选项卡中,以查看其对此首选项面板的视图)构建路径("导出"部分).

后一个函数就是为什么复选框存在于左侧,正如您所要求的那样(请注意,无法取消选中" - "符号,因为无法取消选中此项目中定义的源文件,如帮助文件中所述).如果贡献项目不导出该资源,则期望来自贡献项目的某些资源的依赖项目将无法编译/运行.

编辑:请参阅此SO帖子进行确证.


che*_*rit 5

来自Ilja Preuss的Coderanch 的一个很好的例子

假设您在项目A的构建路径中有junit.jar.项目B依赖于项目A.

现在你在项目B中编写一个junit测试.如果项目A导出junit.jar,项目B可以在编译时使用它 - 不再需要采取任何操作.如果A不导出它,B不知道它 - 你也必须明确地将它放入它的构建路径中.