在C / C ++项目中使用Maven

我把Maven放在业余群体周围,写得不好,坦率地说 – 原始的C / C ++代码(意思是一些C,一些C ++)。 问题是 – 目前有很多正在stream通,不能轻易更换。 构build它需要很多部落的知识(你必须从立方体到立方体才能find如何编译/构build各个部分),释放是完全的噩梦。 (不 – 我不会重写它,PLZ不问)我的问题是 – 我应该使用maven-native-plugin来replace多个短makefile或使用exec-maven-plugin来执行这些? 到目前为止,我已经有了相当不错的经验 ,不知道我是否应该投资native插件或保持与exec ? 如果你有“Mavenizing”C / C ++的经验,我很乐意得到一些build议。

我强烈推荐maven-nar-plugin 。 我发现它在很多方面优于替代品。 它不需要列出源文件,处理多个操作系统和体系结构,处理单元和集成testing,一般遵循“maven方式”。 它引入了一种新的包装 – 包含您关心的工件(.dll,.so,.a,.exe等)的NAR或“本地存档”,还包含元数据,标题等这是有道理的。

它需要一些前期工作来将第三方软件打包到NAR中,但是它非常简单。 一旦它们是NAR,您只需使用正常的Maven依赖关系机制来链接它们,例如:

 <dependency> <groupId>cppunit</groupId> <artifactId>cppunit</artifactId> <scope>test</scope> </dependency> 

一个缺点是,它似乎没有积极维护,但它是全function的,是一个相当令人印象深刻的Maven插件创作的例子。