【发布时间】:2013-12-22 11:55:52
【问题描述】:
为了编译gnu.mail.provider 和gnu.mail.treeutil 成 gnumail-providers.jar 有什么依赖关系,应该编译什么包?
更重要的是,这些是进入这个 JAR 的包吗? 并且,正确构建这个 JAR 需要在类路径中包含什么内容?
以下是我认为 GNU 正在做的事情。 GNU 使他们所有的项目都从 make 构建,所以对于 classpathx instructions 是:
svn co svn://svn.savannah.gnu.org/classpathx/trunk classpathx cd
classpathx/activation ./configure && make && sudo make install cd
../inetlib ./configure && make && sudo make install cd ../mail ./configure
&& make && sudo make install
1.) 构建 gnumail-providers.jar 的 JAR 依赖项是什么?
2.) 应该编译哪些源代码包来构建gnumail-providers.jar?
看看 Ubuntu 做了什么,apt-get install libgnuinet-java libgnujaf-java libgnumail-java 安装:
/usr/share/java/inetlib.jar
/usr/share/java/activation.jar
/usr/share/java/gnumail-providers.jar
/usr/share/java/gnumail.jar
这有点奇怪,因为libgnumail-java 安装了gnumail.jar 和gnumail-providers.jar,我不太清楚为什么它们是分开的,以及依赖关系是什么。
jar -tf /usr/share/java/gnumail.jar 显示包 gnu.mail 和 javax.mail,所以 JAR 最多仅限于这些包的源代码?
或者,
jar -tf /usr/share/java/gnumail-providers.jar 更具体,gnu.mail.providers 和 gnu.mail.treeutil,看起来都有些奇怪。
为什么一些,而不是全部,gnu.mail 包被构建到与主 JAR 分开的 JAR 中?
覆盖的(如果这是正确的术语)javax.mail 与gnu.mail 打包在同一个 JAR 中,但为什么呢?
gnu.mail 被拆分并打包成两个单独的 JAR 似乎很不寻常,javax.mail 以 gnu.mail 结尾而不是在自己的 JAR 中的方式也是如此。
从广义上讲,这是打包 JAR 的正常方式吗?
在更实际的意义上,为了将gnu.mail.provider 和gnu.mail.treeutil 编译成 gnumail-providers.jar 有哪些依赖关系,哪些包需要编译?
一个包层次结构的一个子集被编译成一个 JAR 并与它的兄弟并列,这似乎很奇怪,但这是怎么回事?
【问题讨论】:
标签: java ant makefile classpath gnu