当前位置:首页 » 编程软件 » openjdk编译windows

openjdk编译windows

发布时间: 2022-08-17 13:19:19

❶ 自己编译openJDK时,说用到FreeType,FreeType如何安装怎么使用

《深入理解java虚拟机》这本书吧,我也在看

安装过程:

  1. 下载http://gnuwin32.sourceforge.net/packages/freetype.htm

  2. 解压,找到freetype-2.3.5-1-depinzlib1.dll

  3. 双击zlib1.dll , eetype-2.3.5-1-dep 兄弟目录生成freetype-2.3.5-1-setup

  4. 双击freetype-2.3.5-1-setup 安装

❷ 关于java的openjdk的问题,拙计啊

openJDK项目在java.net里边 地址是 http://openjdk.java.net

jdk7的源码 地址 http://jdk7.java.net/source.html
windows和linux用的源码不同下载源码后放在里边不同的文件夹
java代码是公用的在share目录下。
jdk6的源码已经关闭了,下载不了了。

❸ 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

❹ 我为什么要自己编译openjdk8以及那些坑

比如说,泰山OFFICE使用JAVA开发,自然要使用JDK。而JDK本身也有BUG,解决又不及时,只能自己动手解决了。相当于定制。
如果要编译JDK,建议参考本人博客,应该是全网最详细的,很多问题是全网首发(就是吾第一个发表博文公开解决办法的)。

❺ 如果在 Linux快速搭建 java openjdk 编译环境

Linux直接打个命令就装好了呀 很简单的
比如ubuntu,打sudo install openjdk-7-jdk
或者你在软件中心,点下安装按钮也行
Linux下面装软件最方便了

❻ 如何用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,可能是你的编程软件和浏览器不兼容造成的。

❽ 如何在Windows上面基于Cygwin编译CppInterpreter版本的Zero OpenJDK

解压
./configure --with-components=core --with-cups-build=yes
make
make install
安装后,还是找不到cups库
于是我在Cygwin设置了LD_LIBRARY_PATH变量,
export LD_LIBRARY_PATH=/cygdrive/d/MyDocuments/VisualStudio/OpenJDK/win32/cups-1.7.5/cups:/cygdrive/d/OthrPromFiles/Cygwin/cygwin32/lib:/cygdrive/d/OthrPromFiles/Cygwin/cygwin32/var/lib
cups-1.7.5/cups目录下有cups库:
John@John-PC /cygdrive/d/MyDocuments/VisualStudio/OpenJDK/win32/cups-1.7.5/cups
$ ls
D: api-ppd.shtml custom.o file-private.h http.c libcups2.rc ppd-private.h snprintf.o testoptions.c
Dependencies array-private.h debug-private.h file.c http.h libcups_s.exp ppd.c sspi-private.h testppd.c
Makefile array.c debug.c file.h http.o localize.c ppd.h sspi.c testpwg.c
adminutil.c array.h debug.o file.o ipp-private.h localize.o ppd.o string-private.h testsnmp.c
adminutil.h array.o dest-job.c getdevices.c ipp-support.c mark.c pwg-media.c string.c thread-private.h
adminutil.o attr.c dest-job.o getdevices.o ipp-support.o mark.o pwg-media.o string.o thread.c
api-array.header attr.o dest-localization.c getifaddrs.c ipp.c md5-private.h pwg-private.h tempfile.c thread.o
api-array.shtml auth.c dest-localization.o getifaddrs.o ipp.h md5.c pwg.h tempfile.o transcode.c
api-cups.header auth.o dest-options.c getputfile.c ipp.o md5.o raster-private.h test.ppd transcode.h
api-cups.shtml backchannel.c dest-options.o getputfile.o langprintf.c md5passwd.c raster.h test2.ppd transcode.o
api-filedir.header backchannel.o dest.c globals.c langprintf.o md5passwd.o request.c testadmin.c usersys.c
api-filedir.shtml backend.c dest.o globals.o language-private.h notify.c request.o testarray.c usersys.o
api-filter.header backend.h dir.c http-addr.c language.c notify.o sidechannel.c testconflicts.c utf8demo.txt
api-filter.shtml backend.o dir.h http-addr.o language.h options.c sidechannel.h testcups.c util.c
api-httpipp.header conflicts.c dir.o http-addrlist.c language.o options.o sidechannel.o testfile.c util.o
api-httpipp.shtml conflicts.o emit.c http-addrlist.o libcups.a page.c snmp-private.h testhttp.c versioning.h
api-overview.header cups-private.h emit.o http-private.h libcups.so page.o snmp.c testi18n.c
api-overview.shtml cups.h encode.c http-support.c libcups.so.2 ppd-cache.c snmp.o testipp.c
api-ppd.header custom.c encode.o http-support.o libcups2.def ppd-cache.o snprintf.c testlang.c
John@John-PC /cygdrive/d/MyDocuments/VisualStudio/OpenJDK/win32/cups-1.7.5/cups

❾ 关于自己编译JDK的问题

1 JDK是c/c++写的, 编译就是把JDK编译成可以运行的状态, 可运行的意思是指可以编译运行.java文件. 而一般情况下官方下载的JDK都是已经帮你编译好而已.

2 作者可以用自己编译的, 也可以用官方编译好的. 这个要看书中的说明了
3 JDK是c/c++写的, 里面和其他c++程序没什么区别, windows下面是一堆dll和一堆exe. 你说的.java文件是JDK的功能之一, 帮你编译java文件成class, JVM是运行class文件的容器

善意提醒:如果你想学java, 而且没学过c++, 相信你是买错书了

热点内容
带锁的铅笔如何改密码 发布:2025-02-07 06:18:05 浏览:163
ubuntu搭建samba服务器 发布:2025-02-07 05:52:54 浏览:54
小型企业网如何配置可以互通 发布:2025-02-07 05:33:56 浏览:243
09年crv哪个配置好 发布:2025-02-07 05:17:31 浏览:555
nvm源码编译 发布:2025-02-07 05:13:19 浏览:126
防伪码查询源码 发布:2025-02-07 05:09:39 浏览:769
安卓机的通知在哪里 发布:2025-02-07 05:09:01 浏览:282
密码74是什么意思 发布:2025-02-07 05:02:10 浏览:47
苹果es浏览器无法连接ftp 发布:2025-02-07 04:59:57 浏览:285
javaa和a 发布:2025-02-07 04:58:24 浏览:64