在可执行文件.JAR中组织库和资源



我想使用Eclipse重新组织我的可执行文件.JAR(资源、外部库和application.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

有可能得到这个吗?谢谢

否,JAR文件规范规定了一个特定的结构。您试图将人类的组织和运行时的组织混合在一起,但这两个概念是不同的。无论如何,按照您认为合适的方式组织您的源代码,但您不能期望运行时(JVM)理解任何任意的结构。这就是为什么存在构建工具(gradle、maven、ant等)来帮助准确地生成JAR规范结构。

要意识到,在您的示例中,orgcom并不是真正的文件夹,它们是包结构中的节点(级别)。你的main也是一样——它只是一个包裹。

resources是您唯一具有一定灵活性的东西,因为您可以随心所欲地命名它,只要从中读取内容的代码知道该名称即可。

META-INF和清单文件由规范指定,不能更改或重新定位。

最新更新