zoukankan      html  css  js  c++  java
  • maven打包遇到的问题,找不到jar包

    1、点击报错的路径,会索引到在哪里使用了该程序包

    2、ctrl + 鼠标左键,点击发现该包在rt.jar下面

    3.通过引用的路径可以发现,这是个sun.*包

    com.sun.image.codec.jpeg不存在

    JDK7的时候,这个类已经退休了,以后凡是带sun.*的类库将不会被支持,毕竟sun已经被收购多年了,还sun,sun的,oracle看着心里多难受,全部给搞掉。

    javac在编译时,并不引用 rt.jar,用的是一个特别的symbol table(lib/ct.sym),这个symbol table不包含所有的sun包的类;

    解决方法:

    1.添加plugin,使用 -XDignore.symbol.file,忽略使用symbol table,这样javac编译时就会引用rt.jar:

    2.使用新的,非sun.*包的依赖

    3.将rt.jar 复制到 jdk/jre/lib/ext 目录下,即可package打包成功!

     

    添加plugin

    复制代码
     <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.5</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                        <compilerArgument>-XDignore.symbol.file</compilerArgument>
                    </configuration>
                </plugin>
  • 相关阅读:
    Linux常用命令大全详解
    C++语言关键字及注解
    求两数的最大公约数
    ICOP完成端口详解
    C/C++常见面试题
    猴子吃桃问题之《C语言经典案例分析》
    DTD
    DTD
    DTD的使用
    Rust
  • 原文地址:https://www.cnblogs.com/hkgov/p/13573427.html
Copyright © 2011-2022 走看看