美文网首页
java安装拓展程序

java安装拓展程序

作者: 说你还是说我 | 来源:发表于2018-10-20 13:05 被阅读0次

    来源资料:https://docs.oracle.com/javase/tutorial/ext/basics/install.html
    拓展例子:https://gitee.com/longguiyunjosh/java-spi/tree/master/
    偶尔看到的资料,深怕过了一段时间就忘记了。随便就写了一下。

    在我们打包jar工程的时候,往往都有很多依赖第三方的jar包。常用的maven构建工具,在我们打jar包的时候,需要把依赖的jar包打到固定的文件夹下。
    然后jar包里的METE-INF文件夹下的MANIFEST.MF文件会中有 CLASS-PATH会有依赖的jar包配置,多个依赖用空格分开。

    Manifest-Version: 1.0
    Built-By: xx
    Class-Path: lib/DemoC-1.0-SNAPSHOT.jar lib/DemoB-1.0-SNAPSHOT.jar
    Created-By: Apache Maven 3.5.3
    Build-Jdk: 1.8.0_171
    Main-Class: com.amzing.jar.DemoA
    

    如果没有指定Class-Path的话,我们可以把依赖的jar包放入jre中的lib/ext中去,jvm会直接加载我们需要的jar包。

    可以通过配置 -verbose:class查看jvm加载了那些class。
    下面可以发现DemoC实在jre/lib/ext中的文件夹下

    [Loaded java.lang.Void from D:\develop_tool\Java\jdk1.8.0_171\jre\lib\rt.jar]
    [Loaded com.amzing.jar.A from file:/D:/work/temp_code/jar-install/DemoA/target/DemoA-1.0-SNAPSHOT.jar]
    [Loaded com.amzing.jar.C from file:/D:/develop_tool/Java/jdk1.8.0_171/jre/lib/ext/DemoC-1.0-SNAPSHOT.jar]
    

    我们直接指定jar文件,可以直接调用到依赖的jar包

    PS D:\work\temp_code\jar-install\DemoA\target> java -jar .\DemoA-1.0-SNAPSHOT.jar
    I am Class A.
    I am class C.
    

    到此结束。。。

    相关文章

      网友评论

          本文标题:java安装拓展程序

          本文链接:https://www.haomeiwen.com/subject/wtjuzftx.html