我有一个多模块Android Maven项目,它由几个项目和一个Android库项目(baselib)组成,我运行非基于Android的JUnit测试。
只要我通过Maven运行测试,这就有效。当我使用Run->作为JUnit测试运行Eclipse的baselib JUnit测试时,我没有得到当前版本。这意味着在我进行Maven构建之前,JUnit测试中的更改无效。
我考虑过将bin文件夹添加到Eclipse构建路径中,但是我在Eclipse中收到了一条错误消息:
无法嵌套输出文件夹... baselib-TRUNK / bin / classes里面 ... baselib-TRUNK / bin中
这有点明显。所以我想到将jar本身添加到构建路径中。我把它作为外部罐子添加一次,然后作为罐子添加一次。但是我仍然没有获得当前版本的代码,尽管如果我修改并保存一些代码,jar的时间戳会有当前版本。 (在Eclipse中检查自动构建)。 Eclipse的构建路径配置将输出文件夹识别为在pom.xml中设置的... / bin / classes。我还尝试添加 / bin / test-classes 来构建包含测试类本身的路径,但仍然没有新版本的代码。
为什么这不能用于获取当前版本以及如何解决此问题?
答案 0 :(得分:2)
由于库项目位于同一个工作区,我们可以直接引用该项目。打开项目的首选项,然后单击“Android”部分。
现在,您将看到一个用于引用库项目的窗口。
单击“添加...”按钮,选择所需的项目,单击“确定”,然后单击“应用”。 只能以这种方式选择和引用标记为库的项目。如果您的项目没有出现,请打开他们的首选项并在此窗口中标记“Is Library”框,显示其偏好。
您的项目现在将引用这些库,包括您对它们所做的任何更改。如果您的库可能会发生变化,这比使用jar更好。否则,每次进行更改时都必须删除并重新添加jar。