A. win7 下面怎麼編譯一個openjdk
近來剛剛編譯過openjdk8。遇到不少問題,都記錄下來。
雖然很多文章,吾遇到問題,都在下文中發現。
https://blog.csdn.net/u014106644/article/details/89316483
下載裝cygwin
使用 http://mirrors.163.com/cygwin/
博文:https://blog.csdn.net/quantum7/article/details/93323995
博文:https://blog.csdn.net/quantum7/article/details/93039544
建議下載不安裝,等下載完畢之後,再安裝。這樣可以重復安裝,而且也可以復制給他人。
安裝cygwin
特別要注意的是,即使下載了,默認也是不安裝的。所以要把下載時的項目都找到並選中。
下載並編譯freetype
下載後編譯時出了兩個錯誤:
博文: https://blog.csdn.net/quantum7/article/details/93193452
博文:https://blog.csdn.net/quantum7/article/details/93054559
下載並編譯openjdk8
遇到幾個錯誤:
博文:https://blog.csdn.net/quantum7/article/details/93050653
博文:https://blog.csdn.net/quantum7/article/details/93052571
博文:https://blog.csdn.net/quantum7/article/details/93208918
最後一個問題,花費了吾很長時間。最後自己找到了解決辦法:
博文:https://blog.csdn.net/quantum7/article/details/93303756
編譯openjdk及遇到問題的解決辦法
B. 編譯openjdk總是出現這個問題,怎麼解決
解決/usr/bin/ld: cannot find -lxxx 問題: 在linux環境編譯應用程式或lib的source code時常常會出現如下的錯誤訊息: /usr/bin/ld: cannot find -lxxx 這些訊息會隨著編譯不同類型的source code 而有不同的結果出來如: /usr/bin/ld: cannot f
C. 編譯openjdk總是出現這個問題,怎麼解決
(1)/etc/profileexportjava_HOME=/usr/java/jdk1.7.0_67-cloudera/exportPATH=$PATH:$JAVA_HOME/binexportJRE_HOME="$JAVA_HOME/jre"exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar修改完成後,使用source/etc/profile命令進行更新;(2)下面這幾步比較重要,因為在許多linux系統中都預裝了openjdk,所以即使上面進行了這些設置,系統默認的還不是我們要設置的內容;如果要真正使用我們自己的jdk,還需要一下步驟:sudoupdate-alternatives--install/usr/bin/javajava/usr/java/jdk1.7.0_67-cloudera/bin/java300sudoupdate-alternatives--install/usr/bin/javacjavac/usr/java/jdk1.7.0_67-cloudera/bin/javac300(這里的300隻是標識一下,沒什麼意義,只是下一步要用到)(3)大功告成,使用java-version命令來查看我們的java環境變數,顯示如下內容:javaversion"1.7.0_05"Java(TM)SERuntimeEnvironment(build1.7.0_05-b06)JavaHotSpot(TM)ServerVM(build23.1-b03,mixedmode)*對於更新一個/usr/bin/xxx命令指向一個新的路徑可以用sudoupdate-alternatives--configxxx
D. 如何用Mac完美編譯OpenJDK 7
1.選擇OSX版本很重要。目前這里Mac版本是10.10,配置好必要信息以後就開始編,結果錯誤滿屏。簡單看過之後發現是編譯C文件的時候參數有誤,於是查了一下,才知道是LLVM版本太新,不兼容低版本的一些編譯參數。照著上面改了點代碼,但是依舊編譯不過。既然高版本不行,就裝個低版本的唄。由於最新的OSX不能裝低版本的Xcode(裝了Xcode才能裝LLVM),所以去下了一個10.8的OSX裝在虛擬機里,然後再裝個Xcode4.4。裝好Xcode以後,要手動下載LLVM安裝。打開Xcode,隨便建立一個空項目,然後打開Preferences,找到如下所示的地方開始安裝第一步咱就這么搞定了。2.安裝X11X11這玩意是unix類os使用的圖形系統,10.8以前的OSX是自帶的,但是從此以後就不自帶了。對應於Mac,你需要裝XQuartz,這個沒有版本限制,去網上下最新版即可。裝這個的原因是當時在編譯PolicyTools的時候出現了如下錯誤:ld:librarynotfoundfor-lX11安裝以後要為X11建立軟連接sudoln-s/usr/X11/include/X11/usr/include/X113.安裝freetype在linux下編譯openjdk的朋友可能遇到過需要安裝freetype的要求,然後安裝下並將安裝目錄加到環境變數里就好了。但是OSX不一樣,freetype單獨安裝實際是沒用的。雖然單獨安裝能讓編譯前的檢查通過,但是到後面還是會出錯,至於原因我沒找到。那怎麼呢?實際上如果安裝好X11,freetype就一起安裝好了,大家可以去X11的目錄里看看是否有freetype。雖然說安裝了X11就自帶freetype,但是編譯過程中可能會出現如下錯誤:error:freetype/config/ftheader.h:Nosuchfileordirectory實際上就是目錄問題,執行下面這句命令就好了:sudoln-s/sr/X11/include/freetype2/freetype//usr/X11/include/freetype4.配置環境變數和在Linux下編譯相比,OSX的環境變數配置相對來說簡單很多。只需要配置編譯需要的jdk和llvm的目錄就可以了。因為很多源代碼都是用本機現有的jdk來編譯,所以預裝一個低版本的jdk是必須的,這里我們需要安裝jdk6。安裝好以後,找到其安裝目錄,並添加如下環境變數:[plain]viewplainexportALT_BOOTDIR=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home通常來說安裝目錄都應該在/System/Library/Java/JavaVirtualMachines目錄下。如果不在的話,有個技巧可以找到。因為安裝好jdk以後,系統會自動在/usr/bin下建立指向java命令的軟連接,所以執行「ls-l/usr/bin/java」就能看到這個命令指向哪,然後這么順著找下去就能找到。llvm是編譯C類文件所必須的,所以要把它的所在目錄添加到環境變數里。通常OSX下安裝app都會把app移到Applications目錄下,所以我最初安裝Xcode的時候也把他移進去了,如果你把Xcode放在了別的目錄,那就找到對應的目錄即可。[plain]viewplainexportALT_COMPILER_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin5.獲取編譯源碼按照這上面的第三點獲取源代碼如果沒有裝hg的需要自行安裝到現在為止,編譯前的准備工作已經完成。我們可以先執行makesanity執行下編譯前的檢查。如果檢查通過,先來看看具體的編譯命令:[plain]viewplainmakeALLOW_DOWNLOADS=trueSA_APPLE_BOOT_JAVA=trueSKIP_DEBUG_BUILD=falseSKIP_FASTDEBUG_BUILD=falseALWAYS_PASS_TEST_GAMMA=trueHOTSPOT_BUILD_JOBS=`sysctl-nhw.ncpu`這里有兩個問題:a.ALLOW_DOWNLOADS=true表示編譯過程中允許下載。因為有些編譯模塊,比如jaxp,編譯腳本中指定了需要下載特定的包。雖然我沒試過設置成false會不會影響編譯,但是還是推薦設置成true。但是這就帶來另一個問題,下載這類包很費時間,有時候就會在那卡很長時間,所以我根據編譯日誌找到編譯腳本中控制下載的具體命令,修改修改並且把用迅雷下的對應包放到正確目錄中,然後重新編譯一遍,就能順利通過了。這一點後面我會詳說。b.SKIP_DEBUG_BUILD=falseSKIP_FASTDEBUG_BUILD=false這兩個表示編譯出來的jdk或者hotspot是否可以debug。FASTDEBUG表示的應該是提供簡單的debug功能,如果想要完整的debug,則SKIP_DEBUG_BUILD必須設置為false。不過這里提醒一點,如果想在debugjdk的時候能看到debug信息,比如變數名等,只需要SKIP_FASTDEBUG_BUILD設置為false就可以了如果這兩個問題都不是問題,那麼就可以按回車了。如果debug和fastdebug都是false,再加上用虛擬機編譯,所以需要的時間會比較長,你也許需要找一部長一點的電影來消磨一下了。最後編譯出來的結果是這樣的:j2sdk-image就是自己編譯出來的jdk,可以直接用了。至於其他目錄下的內容,各位自己琢磨吧。現在來說下ALLOW_DOWNLOADS=true引起的問題。但是遇到下載很久的包總共有三個:jaxp145_01.zip、jdk7-jaf-2010_08_19.zip、jdk7-jaxws2_2_4-b03-2011_05_27.zip之前說過可以修改編譯腳本跳過下載並且用我們已經下載好的,但是實際編譯過程中,這三個包對應的的編譯腳本是動態生成的,所以只能等到他卡在那了,才能停下來並找到腳本修改之。因此因為這三個包,總共需要停3次。,比起一直卡在那好太多了。假設編譯的是普通版本,即非DEBUG和非FASTDEBUG。下面以jaxp145_01.zip為例子講一下怎麼修改對應腳本:腳本所在位置:openjdk根目錄/build/macosx-universal/jaxp/build/xml_generated/build-drop-jaxp_src.xml
E. win7 下面怎麼編譯一個openjdk
假設現在已經用記事本編了一個Welcome.java的源文件,它被存放在e:\javabook文件夾下,先用cmd對該源文件進行編譯如下:在開始菜單下運行cmd命令,一般顯示在眼前的第一行命令是"C:\Users\用戶名>",1.這時先打開e盤,直接輸入「e:」,再按回車,會
F. 如何交叉編譯openjdk 使之能在arm-Linux中運行
直接下載OpenJDK8源碼肯定不通過。有一個專門的移植工程:
hg clone http://hg.openjdk.java.net/aarch64-port/jdk8/
hg clone http://hg.openjdk.java.net/aarch64-port/jdk8u/
這個有時無法下載,使用:
https://github.com/AdoptOpenJDK/openjdk-aarch64-jdk8u
關於OpenJDK的編譯,這個博客記錄最為詳細,所有問題都有解決辦法:
網頁鏈接
G. win7 下面怎麼編譯一個openjdk
好久沒有在windows下編過了,以前我是找vs2010 express來編的,遇到過類似的問題,不
過時間太長不確認是不是同一個了。
你可以看一下對應makefile裡面COMPILER_VERSION是怎麼獲取的。我印象中是根據cl.exe
的輸出然後截取字元串來確認版本的,在某些版本/語言下,字元串與makefile代碼中的預
期不一致,導致這個變數沒有寫進去。
詳細一些的攻略可以看我這篇文章:http://icyfenix.iteye.com/blog/1097344
不過我衷心建議你搞個linux來編,我在ubuntu10.10下需要的東西一個apt-get就結束了,
win下找各種依賴的東西很費時間,尤其是編那個破freetype。
H. 高版本Openjdk缺少tools.jar項目編譯不過解決辦法
眾所周知,在openjdk 9 以後,就刪除了tools.jar 等工具包,這個主要用來做編譯之用。
但是有可能在項目中需要tools.jar 來做編譯,這時候如何解決:
例如項目中build.gradle文件使用:
如果我們把jdk 切換到openjdk 9以後的版本就會對build.gradle文件解析失敗,導致編譯不過的問題。
那麼我的思路是:既然tools.jar 作為編譯之用,那麼就把tools.jar 放到工程中的libs/tools.jar 中。並對build.graldle 文件做如下相應的修改:
做如上的修改,就可以讓項目順利的進行編譯。運行。
I. 蘋果M1晶元的電腦怎麼配置java開發環境
方法/步驟
打開Java的下載網址。
Mac電腦上如何配置Java開發環境
在下載鏈接中找到「Mac OSX X64」對應的安裝包並下載。
Mac電腦上如何配置Java開發環境
下載好後打開安裝包會看到一個黃色圖標,雙擊黃色圖標進入應用安裝。
Mac電腦上如何配置Java開發環境
點擊「繼續」,點擊「安裝」,輸入密碼後即可安裝軟體。
Mac電腦上如何配置Java開發環境
安裝過程大約一分鍾左右,接著打開終端,輸入「Java-version」並按回車鍵。
Mac電腦上如何配置Java開發環境
如果正常顯示Java版本則安裝成功。
J. Haxe MacBookPro M1晶元 OpenFL編譯Android版本
如何使用OpenFL在MacBookPro M1晶元編譯Android版本,M1晶元Mac系統自帶的JDK基本都是17版本,編譯時會有不兼容的現象。該流程適用於OpenFL9.1.0。
結果參考(JVM是15.0.6版本、Gradle6.3環境編譯穩定):
當編譯出現這個錯誤時,一般是指JDK的版本沒有對應上,太高、或者太低等。如果按照上面的步驟正常處理,這個問題會直接消失。
無法找到該類型時,一般升級Gradle的編譯版本為6.3即可,請參考上方提及到的project.xml配置。
如果使用到queries的標簽時,會有編譯異常的情況,可以升級到對應補丁的gradle插件,版本對應:3.3.3、3.4.3、3.5.4、3.6.4、4.0.1