我想使用Eclipse重新组织可执行文件.JAR(资源,外部库和应用程序.class文件)中的所有文件。
我有什么:
My.JAR
> folder "com" for external library 1 (com.apple.***)
> folder "org" for external library 2 (org.javasypt.***)
> folder "main" (package)
>> .class files
> folder "resources"
>> all resources files (images, texts...)
> folder "META-INF"
>> "MANIFEST.MF" file
我想要的是:
My.JAR
> folder "main"
>> folder "resources"
>>> all resources files
>> folder "libraries"
>>> external library 1 (com.apple.***)
>>> external library 2 (org.javasypt.***)
>> .class files
> folder "META-INF"
>> "MANIFEST.MF" file
有可能获得这个吗?谢谢!
答案 0 :(得分:0)
不,JAR file specification决定了一个特定的结构。您正在尝试为运行时混合组织为人类和组织,但这两个概念是截然不同的。通过各种方式,根据您的需要组织您的源代码,但您不能期望运行时(JVM)理解任何任意结构。这就是为什么存在构建工具(gradle,maven,ant等)以帮助准确生成JAR规范结构的原因。
要意识到在您的示例中,org
和com
不是真正的文件夹,而是他们在包结构中的节点(级别)。对于main
也是如此 - 它只是一个包。
resources
是唯一具有一定灵活性的东西,因为只要从中读取内容的代码知道要期待的名称,就可以命名为任何你想要的东西。
META-INF
清单文件由规范决定,无法更改或重新定位。