0

设想

假设我有一个 Eclipse 工作区,其中包含项目 A、项目 B 和项目 C。有没有什么方法可以配置 eclipse 在我的工作区下创建一个文件夹(任何地方),名为buildget Project A.jarProject B.jar以及Project C.jar何时执行构建?(请注意,它不必自动构建,这可以是我点击启动的东西。)

只要满足以下要求,我对包括 Ant 在内的许多解决方案持开放态度。

要求

  1. Project A.jar/Project A/bin/必须包含Eclipse 构建时通常会出现的所有类和资源文件。

  2. 当我将项目 D 添加到我的工作区时,我不想对项目 D 做任何特别的事情来使它与构建设置很好地配合。也就是说,只需将项目 D 添加到 eclipse 中的工作区,将导致下次运行构建时Project D.jar出现在文件夹中。build项目 D 也应该满足所有这些要求,只有标准 Eclipse 配置的依赖项等。

  3. 在 eclipse 项目中设置的类路径和其他必需的构建设置应该传递到 JAR 文件中。也就是说,如果Project A.jar需要Project B.jar能够运行,那么Project B.jar应该包含在Project A.jar.

  4. 作为3Eclipse 工作区中非项目的第 3 方库的进一步扩展,还必须复制和引用。也就是说,如果Project A.jar需要spring.jarspring.jar也必须复制到build并且必须将引用添加到Project A.jar类路径。/build/lib如果这些 3rd 方库可以放在一个文件夹中,那就太好了。

  5. 它不能依赖 Eclipse Helios 不附带的任何 3rd 方工具或插件。

有关的

在 Eclipse 中自动将项目构建到 JAR 中似乎是相关的,它可能符合要求15但我不相信它符合其他 3 个。

4

2 回答 2

1

我最终编写了一个使用org.apache.tools.ant.Project运行简单 Ant 脚本的 Java 程序。Java 程序解析 .classpath 文件并设置适当的用户属性供 Ant 脚本使用(jar 输出路径、类路径等)。

它可能不是完美的解决方案,但它对我来说是最容易实施的,并且符合我的要求。

如果您愿意为 Eclipse 使用 3rd 方插件,那么看起来Ant4Eclipse可能是一个不错的解决方案。这对我来说不是一个选择,所以我没有测试它。

于 2012-07-11T14:33:24.637 回答
0

对于您所追求的,没有简单的解决方案。如果您删除要求 #5,其他人可能会帮助您找到第三方解决方案。

如果您只有基本的 Eclipse 和 Ant 供您使用,那么您当然可以编写一个完全通用的 Ant 脚本,迭代项目、解析 .classpath 文件、编译、构建 JAR 等。这并不容易,但肯定是可能的。

于 2012-07-02T20:03:31.750 回答