0

我从一堆 java 文件中创建了一个 jar 文件。文件夹结构为org/ax/redis. 我使用了命令jar cvf jedis.jar org/*。然后我在我的 netbeans 项目中导入了这个 jar 文件。然后,当我尝试从中导入类时,通过编写import org.ax.redis.*. 但是,netbeans 显示不存在此类包的错误。

现在我打开另一个 log4j 的 jar 文件,从内部查看它是如何的。唯一的区别在于清单文件。它有一堆指令,比如Name: org/apache/log4j/. 所以我为我的 jar 文件创建了一个清单文件,包括Name: org/ax/redis/. 使用此命令在我的 jar jar 中添加清单信息cvfm jedis.jar META-INF/manifest.txt org/*。仍然没有任何效果。请帮我

4

2 回答 2

0

即使你不生成 .class 文件,仍然可以导入包并且不会显示任何编译错误(如果你没有指定任何特定的类)。但是,当 U 尝试使用该包的特定类函数时,它会抛出错误。

于 2013-07-24T10:27:07.253 回答
0

Jar 文件通常包含类文件(编译结果)而不是文件 (*.java)。虽然一些 jar 文件可能包含两者,但只有类文件可用于编译或运行(例如使用-cp library.jar)。

所以基本上,在你构建你的 jar 文件之前,你需要编译你的代码——然后在 jar 文件中包含类文件。如果您也包含源文件(在相同的目录结构中),那么某些 IDE 可能能够检测到这一点,这可能很有用。

于 2013-07-24T12:31:38.193 回答