当前位置:首页 » 编程软件 » 编译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

热点内容
sqlserver无法启动 发布:2024-05-04 01:37:19 浏览:848
php使用正则 发布:2024-05-04 01:36:12 浏览:119
玉石密度算法 发布:2024-05-04 01:24:49 浏览:334
我的世界云服务器怎么样 发布:2024-05-04 01:20:01 浏览:22
androidsdk包含 发布:2024-05-04 00:45:54 浏览:209
android拷贝文件 发布:2024-05-04 00:38:28 浏览:777
存储冗余比 发布:2024-05-04 00:12:58 浏览:405
oracle数据库存储原理 发布:2024-05-04 00:10:40 浏览:524
未拆封玩客云3怎么搭建服务器 发布:2024-05-04 00:06:11 浏览:798
彻底删除编译安装的文件 发布:2024-05-04 00:05:33 浏览:56