如何在Linux上编译JavaMail Mbox Store?

我需要在本地存储通过POP3下载的电子邮件,所以我打算使用JavaMail Mbox Store,这是JavaMail源代码的一部分,但未编译。

https://java.net/projects/javamail/pages/MboxStore

我已经按照本页末尾的指示,但没有运气。 这里的说明是这样说的:

export MACH=`uname -p` export JAVA_HOME=/usr/java cd mbox mvn cd native mvn 

我已经根据我的环境改变了JAVA_HOMEvariables。 直到最后一个命令我都没有错误。 文档说,默认情况下这些是maven使用的选项:

 mvn -Dcompiler.name=c89 \ -Dcompiler.start.options='-Xa -xO2 -v -D_REENTRANT -I${env.JAVA_HOME}/include -I${env.JAVA_HOME}/include/solaris' \ -Dlinker.name=c89 \ -Dlinker.start.options='-G' \ -Dlinker.end.options='-L${env.JAVA_HOME}/jre/lib/${env.MACH} -lmail -ljava -lc' 

我已经将编译器名称更改为gcc并删除了gcc-Xa-x02 )无法识别的一些选项。 不幸的是,它抱怨缺lessmaillock.h

你知道我在哪里可以find一个完整的依赖列表? 我的select有问题吗? 我试图寻找任何预编译的版本,但我没有运气。

我试图在Slackware 14.1上编译。

在Ubuntu / Debian / Mint你需要liblockfile-dev包。

要在Debian Whezzy上构建,我必须手动设置archecture,然后添加-shared选项来停止对main的未定义引用(在Solaris中相当于linux的asum)。 还要为服务器目录下的linjvm添加额外的库路径

 export MACH=amd64 mvn -Dcompiler.name=c89 \ -Dcompiler.start.options='-v -D_REENTRANT -I${env.JAVA_HOME}/include -I${env.JAVA_HOME}/include/linux' \ -Dlinker.name=c89 \ -Dlinker.start.options='-shared' \ -Dlinker.end.options='-L${env.JAVA_HOME}/jre/lib/${env.MACH} -L${env.JAVA_HOME}/jre/lib/${env.MACH}/server -llockfile -ljava -jverify -ljvm -lc'