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