當前位置:首頁 » 編程軟體 » 編譯openjdk

編譯openjdk

發布時間: 2022-01-09 04:30:59

編譯openjdk總是出現這個問題,怎麼解決

編譯openjdk總是出現什麼問題?請把問題貼出來,這樣才好看

⑵ centos7 編譯 openjdk8, make all 報錯

你是要安裝java環境吧

⑶ 為什麼Android5.0源碼編譯只能使用openjdk,不能使用oracle-jdk

1)設置cache
cd aosp
prebuilts/misc/linux-x86/ccache/ccache -M 50G
2)初始化編譯環境
. build/envsetup.sh
3)選擇編譯目標包
ps:lunch的方式有很多中,可以使用lunch命令查看,我使用最常用的
lunch aosp_arm-eng

⑷ 運行環境是openjdk 1.8,我可以用oracle jdk 1.8開發嗎

用jdbc么
oracle8/8i/9i資料庫(thin模式)
載入驅動:
class.forname("oracle.jdbc.driver.oracledriver").newinstance();
設置參數
string
url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl為資料庫的sid
string
user="test";
string
password="test";
嘗試連接:
connection
conn=
drivermanager.getconnection(url,user,password);

⑸ 怎麼編譯並調試 openjdk 源代碼

環境構建需要的工具
1.cygwin 工具。這個工具的主要用處是為了在window平台上模擬出一個unix虛擬環境。
為了能夠在window下編譯openJDK,我們需要手動安裝的工具如下:
Devel:binutils,make.
Interpreters:m4
Utils:cpio,awk,file(我在安裝的過程中,沒找到awk包和file包,可能是版本的問題。)
Archive:zip,unzip
System:procps
以上提供的鍵值對說明:(前面是文件名:包名)
2.安裝編譯器,我選用的編譯器是VS2010,因為這個編譯器中包好了windows SDK v7.0a,否則還要自己去下載這個SDK
(cygwin和vs2010安裝後都會在操作系統的path環境變數中加入自己的bin目錄路徑,必須保證VS2010的bin目錄在 cygwin的bin目錄之前,因為這兩個軟體的bin目錄中各自都有一個連接器「link.exe」,但是只有VS2010中的連接器可以完成 openJDK的編譯)
3.下載一個已經編譯好的JDK。
4.最後一步就是下載一個Apache ANT,JDK中的java代碼部分都是使用ANT腳本進行編譯的,ANT版本要求在1.6.5以上。
5.准備依賴項。
由於OpenJDK中的源碼沒有100%開源,但是在編譯JDK的時候,我們又需要這部分閉源包,官方稱為「JDK plug」。這部分閉源包可以從Source Releases頁面下載。在windows平台下,其是以jar包的形式存在的。通過下面的命令就可以安裝
java -jar jdk-7-ea-plug-b121-windows-i586-09_dec_1010.jar
運行後就會出現提示框,點擊accept接受協議,然後安裝到指定目錄即可。
安裝完成後建立一個環境變數「ALT_BINARY_PLUGS-PATH」,變數值為安裝的JDK plug的安裝路徑,後面編譯的時候需要它
6.安裝一個大於2.3版本的FreeType,這是一個免費的字體渲染庫。JDK的Swing部分和JConsole這類工具要使用到它。安裝好後建立兩個環境變數「ALT_FREETYPE_LIB_PATH」和「ALT_FREETYPE_HEADERS_PATH」,分別指向FreeType安裝目錄下的bin目錄和include目錄。另外還有一點官方文檔沒有提到但必須要做的事情是把FreeType的bin目錄加入到PATH環境變數中。
7.下載Microsoft DirectX 9.0 SDK(Summer 2004),安裝後大約有298MB,在微軟官方網站上搜索一下就可以找到下載地址,它是免費的。安裝後建立環境變數「ALT_DXSDK_PATH」指向DirectX 9.0 SDK的安裝目錄
8.去尋找一個名為「MSVCR100.DLL」的動態鏈接庫,如果讀者在前面安裝了全套的Visual Studio 2010,那這個文件在本機就能找到,否則上網搜索一下也能找到單獨的下載地址,大概有744KB。建立環境變數「ALT_MSVCRNN_DLL_PATH」指向這個文件所在的目錄。如果讀者選擇的是VS2003,這個文件名應當為「MSVCR73.DLL」,應該在很多軟體中都包含有這個文件,如果找不到的話,前面下載的「Bootstrap JDK」的bin目錄中應該也有一個,直接拿來用吧。

⑹ 如何用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

⑺ openjdk編譯錯誤

JDK安裝程序會把java.exe,javaw.exe,javareg.exe這3個可執行文件拷貝到winnt\system32目錄下,由於winnt\system32被操作系統預設的設置為最高優先權的PATH搜索路徑,以此保證用戶在命令行任何目錄下可運行java.exe來啟動JVM,可能是你的編程軟體和瀏覽器不兼容造成的。

⑻ 如何交叉編譯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的編譯,這個博客記錄最為詳細,所有問題都有解決辦法:

網頁鏈接

⑼ 如果在 Linux快速搭建 java openjdk 編譯環境

Linux直接打個命令就裝好了呀 很簡單的
比如ubuntu,打sudo install openjdk-7-jdk
或者你在軟體中心,點下安裝按鈕也行
Linux下面裝軟體最方便了

⑽ openJDK 編譯的jar包和oracleJDK編譯的能通用嗎

在此,Oracle與OpenJDK之間的區別
他是從組織、開源、市場等角度比較的,我這里主要從開源、前景、相關源碼底層…等等角度分析,有興趣的朋友可以一起來建議,學習

一、前景
這里我只能拋出幾個疑問點,歡迎大家一起來解決,拋出疑問

1、為什麼 Docker 容器的Java環境,幾乎都是 openJdk ?

2、其實ORACLE jdk是開放了大部分源碼的,openJDK是開放所有源碼的,迄今我所想看到的實現,在Oracle JDK中都是開放源碼的,Oracle JDK沒有開放的部分在哪裡?
答:已解決,Oracle JDK 沒有開放的源碼,在openJDK中的實現,這里先說明一下,OracleJDK只開放了不到7%,後面我會摘錄部分,只是部分哈,有興趣可以安裝一個OpenJDK比較一下區別

3、為什麼 OpenJDK開源了 OracleJDK不想開源的東西,

二、開源
open-source,開源,這是一種共享,集智的概念

openJDK 是對外開放源碼的,Oracle JDK則沒有(部分開源)

三、相關底層架構,實現比較
這里就windows版本分析

3.1-1、Oracle JDK架構1
安裝包就一個,如圖,官網地址
在這里插入圖片描述

3.1-2、Open JDK架構1
鏈接地址,在此
如下圖
在這里插入圖片描述
這里比較出 openJDK的JRE和JDK是分開放的

3.2 Oracle JDK 與 Open JDK 目錄結構比較
在這里插入圖片描述

這里看得出 Oracle JDK 是基於 SDK(Jar)進行版本的維護的,部分提供了源碼集
OpenJDK 是基於 package 進行版本維護,提供了所有的源碼集,目錄更清晰,部分實現還變更於與Oracle JDK 不同的包下,後面我摘出部分事例參考

還要注意 IntelliJ IDEA 中也集成了部分的 SDK,注意開發時確保正確的開發環境

3.3 JVM
openJDK已經不顯示 JVM了

在這里插入圖片描述

3.4 不同的命令行操作
在這里插入圖片描述

四、常用對象的不同的實現(OracleJDK源碼在OpenJDK中的不同實現)
摘錄部分,常用對象,這里總結會有點亂(我還沒仔細地觀察真正的源碼區別)

4.1、Object
在這里插入圖片描述

4.2、ArrayLi

熱點內容
蜂群演算法matlab 發布:2024-06-16 19:34:58 瀏覽:839
求生之路2怎麼裝伺服器 發布:2024-06-16 19:24:47 瀏覽:60
雲伺服器域控制器搭建方案 發布:2024-06-16 19:19:34 瀏覽:568
筆記本電腦能聯伺服器嗎 發布:2024-06-16 19:10:48 瀏覽:794
mysql開啟預編譯 發布:2024-06-16 19:07:58 瀏覽:977
雲伺服器公網ip怎麼高可用 發布:2024-06-16 19:00:37 瀏覽:437
pythonforrange列表 發布:2024-06-16 18:43:00 瀏覽:216
中國標准體重演算法 發布:2024-06-16 18:11:52 瀏覽:212
騰訊雲伺服器怎麼提速 發布:2024-06-16 17:54:37 瀏覽:193
蘋果手機存儲空間瞬間 發布:2024-06-16 17:18:02 瀏覽:1000