我使用命令行jar cvfm server-model.jar nz
生成名为server-model.jar
一些输出:
adding: nz/api/pojos/core/util/(in = 0) (out= 0)(stored 0%)
adding: nz/api/pojos/core/util/RenderMarkdownReqMsg.java(in = 845) (out= 283)(deflated 66%)
adding: nz/api/pojos/core/util/RenderMarkdownRespMsg.java(in = 904) (out= 296)(deflated 67%)
之后我正在运行jar -tvf server-model.jar
一些输出:
0 Wed Jul 02 16:52:20 NZST 2014 nz/api/pojos/core/util/
845 Wed Jul 02 16:52:20 NZST 2014 nz/api/pojos/core/util/RenderMarkdownReqMsg.java
904 Wed Jul 02 16:52:20 NZST 2014 nz/api/pojos/core/util/RenderMarkdownRespMsg.java
我的问题是,一个简单的Java项目(因为我几乎尝试了所有内容而项目实际上使用了Maven)无法使用这些类,因为import语句无法识别它们。
它认为MANIFEST.MF和/或类路径存在问题。任何建议都表示赞赏。
MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.7.0_45 (Oracle Corporation)
答案 0 :(得分:6)
你的jar文件包含 source 代码 - 如果你想在项目中使用jar文件作为库,你需要先编译源代码,然后放入类文件< / jar>在jar文件中。
例如:
$ javac -d bin src/nz/api/pojos/core/util/*.java
$ jar -C bin -cvf server-model.jar nz
然后运行jar tvf server-model.jar
您应该会看到.class
个文件。
您还希望将源代码包含在jar文件中,因为IDE可以获取源代码并允许您在主项目中查看它,并调试该代码。但构建并不需要它。