Maven 编译使用 rt.jar
生活随笔
收集整理的這篇文章主要介紹了
Maven 编译使用 rt.jar
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/catoop/article/details/63251628
項目在使用mvn clean package 打包的時候出現 com.sun.image.codec.jpeg.JPEGCodec 是 Sun 的專用 API 這樣的編譯錯誤提示時,我們需要在maven編譯插件中指定參數 rt.jar 文件。因為 rt.jar 是jre 中自帶的 jar 包,所以才使用編譯參數的方式使用。
pom.xml 的代碼片段如下:
<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.5</version><configuration><source>${jdk.version}</source><target>${jdk.version}</target><encoding>UTF-8</encoding><compilerArguments><verbose /><bootclasspath>${JAVA_HOME}/jre/lib/rt.jar${path.separator}${JAVA_HOME}/jre/lib/jce.jar</bootclasspath></compilerArguments> </configuration></plugin><!-- 你項目中需要的其他插件本例忽略 --></plugins> </build>主要我上面的 bootclasspath 參數指定了2個 jar 文件。
第一是我項目中需要這2個文件編譯。
第二我是為了說明另外一個問題:就是當我們需要指定多個 jar 的時候,中間的分隔符,要使用maven內置變量 ${path.separator} 來指定。因為在windows下,這個分隔符應該是“分號”,而在Linux 下這個分隔符必須是“冒號”,無論我們寫死哪一種都是不兼容的,所以maven為我們提供了這樣的變量,可以自動根據操作系統來使用對應的分隔符。
所以maven分隔符變量 ${path.separator} 我們可能在其他配置的時候也會使用到,大家回想一下在Linux下和在Windows下配置環境變量時的分隔符就知道了。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Maven 编译使用 rt.jar的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android蓝牙串口通讯【转】
- 下一篇: iOS模块器截屏闪退