1. 程式人生 > >Maven 編譯使用 rt.jar

Maven 編譯使用 rt.jar

專案在使用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下配置環境變數時的分隔符就知道了。

相關推薦

ant、maven解決rt.jar訪問限制問題

由於rt.jar中一些類對訪問具有限制,導致不解除這些限制的話會編譯不通過,報:程式包XXXXXX不存在 的錯誤。 對於ant構建的Java專案,解決辦法:給javac傳入“ignore.symbol.file”引數。在ant指令碼javac標籤內加<compilerarg va

maven編譯打包jar名稱裡含svn版本號

pom.xml裡增加如下外掛  <!-- 包名裡增加svn版本號外掛--><plugin><groupId>org.codehaus.mojo</groupId><artifactId>buildnumber-ma

Maven 編譯使用 rt.jar

專案在使用mvn clean package 打包的時候出現 com.sun.image.codec.jpeg.JPEGCodec 是 Sun 的專用 API 這樣的編譯錯誤提示時,我們需要在maven編譯外掛中指定引數 rt.jar 檔案。因為 rt.jar

Maven編譯自定義jar

在實際開發過程中經常遇到需要呼叫第三方jar包的情況,這裡有兩種解決方式: 1.將第三方jar包放在lib下(之前的處理方式,不過多介紹) 2.將第三方jar包打入maven倉庫,在pom.xml加入配置即可    mvn install:install-file -

maven編譯scala,依賴包打包到jar

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSch

maven編譯引入本地jar包-解決Maven中使用很多本地jar包的編譯問題

Maven依賴本地非repository中的jar包,依賴jar包放在WEB-INF/lib等目錄下的情況客戶端編譯出錯的處理。 Maven提供了scope為system的依賴,文件的原文如下: system This scope is similar to provi

ant編譯無法依賴rt.jar

最近同事在用ant編譯投產的時候報了一個錯誤: 程式包com.sun.org.apache.xml.internal.security.exceptions不存在 大致網上搜集了一下資源:具體原因是相關的類無法依賴rt.jar。需要增加一行配置。<compilerarg value="-XD

Idea使用Maven編譯scala和打包jar

下面Maven的pom檔案 <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compil

maven工程引入JAR包後編譯通過了,但專案啟動時找不到JAR

建立了maven工程,POM檔案里加好了依賴,並且在編譯的時候已經通過了,但是當啟動tomcat的時候,找不到這些JAR包了。 異常如下: java.lang.NoClassDefFoundError: javax/wsdl/xml/WSDLLocator java

使用Maven編譯可執行JAR

最近使用Maven構建了一個Java Swing小程式,想編譯成能夠雙擊執行的jar檔案,但是專案還使用了mybatis等框架,如果只是在Maven做如下配置: <groupId>MyApp</groupId> <artifactId>

Maven編譯jar出現:無法確定 T 的型別引數的異常的原因和處理方案

[ERROR] [ERROR] /opt/web/iwork_shell/release_jar_workspace/831881fe-9cbe-4444-99d9-5667fcb96263/workspace/src/main/java/com/bj58/biz/utility/JsonUtil.j

IDEA下maven編譯打包Java專案成jar包但是resource下配置檔案打包不成功

今天在IDEA下打包一個Java專案,準備打包成jar包直接執行,打包之後執行時候一直提示resource下資原始檔找不到,但我又確實配置了的,而且在IDEA上可以執行,但是打包成jar包之後就執行不了了。 後來百度,發現對於resource下檔案(prope

既使用maven編譯,又使用lib下的Jar

在專案開發中,專案用maven管理,是一個maven專案。 一般情況下jar包都可以使用pom.xml來配置管理,但也有一些時候,我們專案中使用了一個內部jar檔案,但是這個檔案我們又沒有開放到maven庫中。 我們會將檔案當到我們專案WEB-INF/lib

使用Maven 編譯 storm 原始碼可能碰到下載依賴jar 的問題

網上很多檔案使用 lein 編譯 storm 原始碼,但是我下載的版本 apache-storm-0.9.2-incubating 中沒有lein 工程檔案,而是有 pom.xml,可以使用maven 編譯。 在storm 工程的最上層目錄執行: mvn package -

Failed to read artifact descriptor for xxx:jarMaven項目jar包依賴配置的問題解決

描述 tin ava 打開 文件 我們 記事本 last .com 在開發的過程中,尤其是新手,我們經常遇到Maven下載依賴jar包的問題,也就是遇到“Failed to read artifact descriptor for xxx:jar”的

maven打包成jar,並排除指定文件

pat addclass fig ani logs archive exc arc mave maven打包成jar,配置如下 <plugin> <groupId>org.apache.maven.plugins

maven下載的jar包可以查看源碼

tin 需要 settings xml文件 ava mave down doc ref 1:Maven命令下載源碼和javadocs 當在IDE中使用Maven時如果想要看引用的jar包中類的源碼和javadoc需要通過maven命令下載這些源碼,然後再進行引入,通過mv

Maven將獨立jar包安裝到本地庫

clas 獨立 tid admin users use div mac com 對於一些不在maven庫中的包,同時又希望便利的在maven項目中引用,可以將其安裝到本地倉庫: mvn install:install-file -DgroupId=com.domain

3.將maven項目jar納入maven倉庫,Mave項目依賴另外一個Maven項目的案例

pan jsb cal 案例 mil water maven target -i ?? 1 若想讓maven項目依賴另外一個maven項目。被依賴的項目要在maven倉庫中有對應的jar包,所以要對依賴的項目運行mvninstall命令。 2 新建第二個項目模

Maven上傳jar包到私服

new posit setting 用戶 lease release -1 str family 1、認證,在M2_HOME/conf/settings.xml配置用戶名密碼 2、在將要上傳項目的pom.xml中配置jar包上傳路徑url <distrib