为Maven打包预编译的二进制文件?

时间:2011-08-04 13:56:18

标签: maven

我的Java库依赖于Boost C++。我已经生成了以下工件:

升压行家项目:升压线程:罐:视窗-I386-VS10:1.47.0-B1

其中windows-i386-vs10表示:“Windows平台,32位架构,Visual Studio 2010链接器”。

我试图将此上传到Maven Central,但Sonatype工作人员dislikes表明该工件不包含主JAR(仅限附件JAR,每个平台一个)。

我不认为“捆绑”包装比JAR更合适。我也不想依赖于NAR项目(似乎不活跃)。 Maven世界中有优先权吗?打包预编译二进制文件的最佳方法是什么(没有相应的Java组件)?

2 个答案:

答案 0 :(得分:1)

我不太熟悉Maven Central以及上传工件的准则,但我们有一个本地Nexus存储库,我们上传像dll这样的二进制文件作为dll包。 你为什么要用jar包?我认为Sonatype的员工是对的。必需的头文件作为zip文件附加。

Maven还有一个C ++插件,请参阅http://mojo.codehaus.org/maven-native/native-maven-plugin/。看看它。插件的想法非常好,应该回答你的很多问题。

顺便说一下,我试图将Boost库上传到我们的存储库中,但是我失败了。我认为问题是将所有Boost标头分成不同的zip文件。但我不确定,我没有时间找到一个好的解决方案。如果您愿意并且可以在Maven Central获得Boost Libraries,我将不胜感激。

答案 1 :(得分:0)

我最终在没有main-jar的JAR文件中打包二进制文件。