我有一个文件夹结构
/com/cdy/ws/a.class files
/com/cdy/ws/b.class files
/com/cdy/ws/c.class files
Run Code Online (Sandbox Code Playgroud)
当我运行以下命令"jar cvf asd.jar*.class"时,它给jar提供了所有类文件.但是没有生成文件夹结构.所有类文件都必须在"com.cdy/ws"下,但所有类都在META-INF的相同级别.谁能告诉我生成包结构的命令是什么?
谢谢
Ada*_*kin 78
您需要开始在文件的根目录下创建JAR .
所以,例如:
jar cvf program.jar -C path/to/classes .
Run Code Online (Sandbox Code Playgroud)
假设path/to/classes包含com目录.
仅供参考,这些天大多数人jar直接使用命令是相对不常见的,因为他们将使用诸如Ant或Maven之类的构建工具来处理(以及构建的其他方面).值得努力的是允许其中一个工具处理构建的所有方面,并且通过一个好的IDE来帮助编写build.xml(Ant)或pom.xml(Maven)更加容易.
Bri*_*new 14
你要
$ jar cvf asd.jar .
Run Code Online (Sandbox Code Playgroud)
指定目录(例如.)jar来自.这将在jar文件中维护您的文件夹结构.
从包含该com文件夹的目录:
$ jar cvf asd.jar com
added manifest
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/a.class(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/b.class(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/c.class(in = 0) (out= 0)(stored 0%)
$ jar -tf asd.jar
META-INF/
META-INF/MANIFEST.MF
com/
com/cdy/
com/cdy/ws/
com/cdy/ws/a.class
com/cdy/ws/b.class
com/cdy/ws/c.class
Run Code Online (Sandbox Code Playgroud)
步骤1:使用命令提示符(或Linux shell提示符)转到保存类的目录
.与Project一样.
C:/workspace/MyProj/bin/classess/com/test/*.class
使用命令转到目录bin:
cd C:/workspace/MyProj/bin
Run Code Online (Sandbox Code Playgroud)
第2步:使用以下命令生成jar文件.
jar cvf helloworld.jar com\test\hello\Hello.class com\test\orld\HelloWorld.class
Run Code Online (Sandbox Code Playgroud)
使用上面的命令,类将被放置在目录结构的jar中.
| 归档时间: |
|
| 查看次数: |
136162 次 |
| 最近记录: |