2

我有一个多模块 Android Maven 项目,它由几个项目和一个 Android 库项目 (baselib) 组成,我在其中运行非基于 Android 的 JUnit 测试。

在此处输入图像描述

只要我通过 Maven 运行测试,它就可以工作。当我通过 Eclipse 使用 Run->As JUnit 测试运行 baselib JUnit 测试时,我没有得到当前版本。这意味着在我进行 Maven 构建之前,JUnit 测试中的更改不会生效。

我曾考虑将 bin 文件夹添加到 Eclipse 构建路径,但在 Eclipse 中收到错误消息:

不能在 ...baselib-TRUNK/bin 中嵌套输出文件夹 ...baselib-TRUNK/bin/classes

这有点清楚。所以我考虑将 jar 本身添加到构建路径中。我将它作为外部 jar 添加一次,然后作为 jar 添加一次。但是如果我修改并保存一些代码,尽管 jar 的时间戳具有当前版本,但我仍然没有得到当前版本的代码。(在 Eclipse 中选中自动构建)。Eclipse 的构建路径配置将输出文件夹识别为在 pom.xml 中设置的 .../bin/classes。我还尝试添加/bin/test-classes来构建包含测试类本身的路​​径,但仍然没有新版本的代码。

为什么这无法获取当前版本,我该如何解决?

4

1 回答 1

2

由于库项目在同一个工作空间中,我们可以直接引用该项目。打开项目的首选项,然后单击“Android”部分。

在此处输入图像描述

现在,您将看到一个用于引用库项目的窗口。 在此处输入图像描述

单击“添加...”按钮,选择所需的项目,单击“确定”,然后单击“应用”。只有被标记为库的项目才能以这种方式被选择和引用。如果您的项目没有出现,请打开他们的首选项并在其首选项的此窗口中标记“是库”框。

您的项目现在将引用这些库,包括您对它们所做的任何更改。如果您的库会发生变化,这比使用 jar 更好。否则,每次进行更改时,您都必须删除并重新添加 jar。

于 2013-06-06T17:55:10.760 回答