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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM