嘰哩咕嚕

          君子如玉,上善若水

          pom.xml中的java.home變量(eclipse默認的java.home變量)

          說說最近發現在的一個問題.
          關于java.home這個變量
          本機環境變量:
          JAVA_HOME = C:\Java\jdk17045
          eclipse Version: Mars.1 Release (4.5.1)

          來由0:
          maven-install時出現這錯誤:
          [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

          解決辦法:
          window->Preference->Installed JREs,添加一個jdk配置(非JRE路徑).
          并且在Builder Path里面更改JRE System Liberary為jdk配置.

          來由一:
          使用maven編譯的時候出現如下錯誤:
          [ERROR] /E:/workspace/wxis1.5/src/main/java/com/bd/MultDBPool/RhipDBManager.java:[27,31] 程序包com.sun.istack.internal不存在
          [ERROR] /E:/workspace/wxis1.5/src/main/java/com/web/bd/weixin/util/RandomValidateCode.java:[13,32] 程序包com.sun.image.codec.jpeg不存在
          這是由于我們的項目框架里面使用了這幾個內部類.

          解決辦法:
          修改pom.xml在開發環境的編譯插件里面作如下配置:
          <profile>
                      <id>dev</id>
                      <activation>
                          <activeByDefault>true</activeByDefault>
                      </activation>
                      <properties>
                          <package.environment>dev</package.environment>
                          <java.home>C:\Java\jdk17045</java.home>
                      </properties>
                      ......
                              <!-- 編譯插件 -->
                              <plugin>
                                  <groupId>org.apache.maven.plugins</groupId>
                                  <artifactId>maven-compiler-plugin</artifactId>
                                  <version>3.1</version>
                                  <configuration>
                                      <source>1.7</source>
                                      <target>1.7</target>
                                      <encoding>UTF-8</encoding>
                                      <compilerArguments>
                                          <bootclasspath>${java.home}\jre\lib\rt.jar;${java.home}\jre\lib\charsets.jar;${java.home}\jre\lib\jce.jar</bootclasspath>
                                      </compilerArguments>

                                  </configuration>
                              </plugin>
                              ......

          來由二:
          修改了如上之后,提交到倉庫會有問題,每個coder的java.home路徑都不一樣,造成倉庫的配置文件經常會沖突.

          解決辦法:
          去掉<java.home>C:\Java\jdk17045</java.home>配置.
          這時java.home變量繼承自eclipse的java.home配置.從pom.xml文件的Effective POM可以查看到java.home變量被替換了.

          來由三:
          運行maven builde 命令,出現
          致命錯誤: 在類路徑或引導類路徑中找不到程序包 java.lang
          解決辦法:
          從pom.xml文件的Effective POM可以查看到java.home變量被替換了成了:
          <compilerArguments>
                          <bootclasspath>C:\Java\jre7\jre\lib\rt.jar;C:\Java\jre7\jre\lib\charsets.jar;C:\Java\jre7\jre\lib\jce.jar</bootclasspath>
          </compilerArguments>
          這個路徑多了一層jre目錄,因為依賴的是java.home路徑.去掉\jre這一層路徑即可.



          問題在這里,為什么eclipse的java.home變量是
          C:\Java\jre7\,默認加載的是jre目錄,而不是我的jdk目錄.
          eclipse的java.home路徑在help->about eclipse->Installation Details->configuration頁可以找到如下:
          -vm
          C:\Windows\system32\javaw.exe
          java.home=C:\Java\jre7



          通過修改eclipse.ini文件,在第一行加入如下:
          -vm
          C:\Java\jdk17051\bin\

          eclipse默認的環境變量變成:
          java.home=C:\Java\jdk17051\jre

          posted on 2016-01-11 14:04 嘰哩咕嚕 閱讀(12784) 評論(0)  編輯  收藏 所屬分類: maven


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          公告

          瘋狂

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統計

          常用鏈接

          留言簿

          隨筆分類(17)

          隨筆檔案(22)

          文章分類(1)

          文章檔案(1)

          工程教程

          牛人BLOG

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 托克逊县| 克什克腾旗| 晋江市| 太康县| 商水县| 兴隆县| 许昌县| 工布江达县| 平罗县| 连城县| 海口市| 繁峙县| 瑞金市| 六安市| 特克斯县| 大冶市| 那曲县| 镇坪县| 固原市| 吉木乃县| 白水县| 福建省| 漠河县| 和政县| 惠州市| 江都市| 多伦县| 西充县| 娄底市| 明光市| 红原县| 庆安县| 焦作市| 昌宁县| 北宁市| 渝北区| 万盛区| 清涧县| 同心县| 图木舒克市| 江山市|