我的多模块项目包含10个模块,其中3个需要第三方jni。三者必须解压jni构件,并将其位置添加到LD_LIBRARY_PATH以进行测试执行。将JNI添加到多模块项目中的某些并非全部模块
什么是优雅的maven方式来处理这种情况?
- 添加依赖项,通过maven-dependency-plugin执行surefire属性解包到这三个模块(违反dont-repeat-yourself原则并且不会缩放)。
- 使用的简档在中央POM对于这些步骤,并与needsFooJni属性激活它(配置文件不是每个模块和应该用于平台或其它积聚宽需求)
- 通过在顶层POM属性控制使用处决(似乎有点脆弱)。
那么,什么是优雅的maven方式来处理这种情况,所以我的本地依赖项被用于测试阶段。
感谢
彼得
如果您的所有模块为测试添加了这种依赖关系,会发生什么情况?您可以在主要的pom.xml中添加注释,说明这对于以下模块是必需的:a,b,c。 – 2012-07-30 16:56:55