从源代码11.0编译netbeans时出现问题

mpbci0fu  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(152)

我尝试从源代码编译Netbeans 11.0,但遇到了一些问题。首先,我尝试用JDK 13.02编译Netbeans 11.0,但出现了一些问题,我认为JDK版本不兼容,所以我下载了JDK 11.0.6版本,也出现了同样的错误。因此,我下载了JDK 8u241版本,编译最终似乎工作了。但是,经过几分钟的编译,下一个有趣的错误,这就是为什么我来这里寻求帮助。

BUILD FAILED
C:\Program Files\Netbeans\nbbuild\build.xml:514: The following error occurred while executing this line:
C:\Program Files\Netbeans\nbbuild\build.xml:509: The following error occurred while executing this line:
C:\Program Files\Netbeans\nbbuild\build.xml:556: The following error occurred while executing this line:
C:\Program Files\Netbeans\nb\updatecenters\build.xml:44: exec returned: 1

Total time: 32 minutes 28 seconds

我还包括了它所显示的xml存档的代码行。
C:\程式档\Netbeans\nbbuild\建置.xml:514:

513   <target name="build-clusters" depends="init">
514       <run-depend-build clusters-to-build="${nb.clusters.list}"/> 
515   </target>

C:\程式档\Netbeans\nbbuild\建置.xml:509:

506   <macrodef name="run-depend-build">
507      <attribute name="clusters-to-build"/>
508      <sequential>
509         <repeat target="build-one-cluster" name="one.cluster.name" values="@{clusters-to-build}" /> 
510      </sequential>
511   </macrodef>

C:\程式档\Netbeans\nbbuild\建置.xml:556:

537   <target name="build-one-cluster" unless="${one.cluster.name}-is-built" depends="build-one-cluster-check">
538      <echo message="Building ${one.cluster.name} modules"/>
539      <resolve name="one-cluster-modules" value="${one.cluster.name}"/>
540      <resolve name="one-cluster-dependencies" value="${one.cluster.name}.depends"/>
541      <echo>${one-cluster-modules}</echo>
542      <echo>Dependencies: ${one-cluster-dependencies}</echo>
543      <insert-module-all-targets/> <!-- we are in a subproject, so need to reinsert the targets... XXX <antcall> and thus <repeat> apparently reparses the Ant script from disk! -->
544      <antcall target="build-one-cluster-dependencies" inheritAll="false">
545        <param name="one.cluster.dependencies" value="${one-cluster-dependencies}"/>
546        <param name="one.cluster.name" value="${one.cluster.name}"/>
547        <param name="ext.binaries.downloaded" value="true"/>
548      </antcall>
549      <mkdir dir="${netbeans.dest.dir}"/>
550      <nbmerge failonerror="${stop.when.broken.modules}" 
551               dest="${netbeans.dest.dir}" 
552               topdir="${nb_all}" 
553               fixedmodules="${one-cluster-modules}"
554               builtmodulesproperty="${built.modules.property}" 
555               targetprefix="all-" 
556               mergedependentmodules="false">
557      </nbmerge>
558      <touch file="${netbeans.dest.dir}/${one.cluster.name}.built"/>
559   </target>

C:\程序文件\Netbeans\nb\更新中心\build.xml:44:

44   <exec executable="${java.home}/bin/keytool" failonerror="true">
45           <arg value="-exportcert"/>
46           <arg line="-keystore ${netbeans.bundled.ks}"/>
47           <arg line="-alias netbeans-bundled"/>
48           <arg line="-storepass ${netbeans.bundled.ks}"/>
49           <arg line="-file ${netbeans.bundled.cert}"/>
50   </exec>

PS1:我知道二进制版本是可用的,它容易得多,但我很固执,我想编译源版本LOL
PS2:我对以下环境变量进行了更改:JAVA主目录、JAVA路径、ANT主目录、路径。

2admgd59

2admgd591#

在使用Ant 1.10.2和OpenJDK 1.8_322编译www.example.com源代码时,遇到了这些完全相同的构建错误netbeans-12.6-source.zip。(目前最新),并发现通过切换我的(Windows 10)从旧的1.10.2路径到新的1.10.12路径的%PATH%以某种方式修复了错误。不确定Ant 1.10.2和1.10.12之间的区别是什么,但是源构建中的某些内容肯定使用了1.10.2中不存在的新Ant特性。

z0qdvdin

z0qdvdin2#

根据提供的信息,很坚韧说明您为什么会遇到问题,但我按照Windows 10上NetBeans 11.3的Building from source说明进行了操作,一切正常:

因此,简单地记录我做了什么可能会更有帮助,你可以解决任何差异:

  • 转换为D:\Downloads\NetBeans source\netbeans-master
  • Download and unzip Ant 1.10.7转换为C:\ApacheAnt
  • 我(错误地!)将ANT_HOME设置为C:\ApacheAnt,而不是C:\ApacheAnt\bin,但这似乎并不重要。
  • JAVA_HOME设置为C:\Java\jdk1.8.0_221,并确保它是PATH上的唯一JDK。
  • 打开命令提示符窗口并提交以下内容:
D:

cd D:\Downloads\NetBeans source\netbeans-master

C:\ApacheAnt\bin\ant build

备注:

  • NetBeans的Building from source指令声明“* 安装Java开发工具包的LTS发行版 *",因此实际上您只能选择JDK 8或JDK 11。
  • 构建NetBeans会生成大量输出到控制台,因此最好将输出重定向到一个文件。这会加快一些速度,并且在您需要检查构建时会很有用。
  • 我没有JAVA_PATH环境变量。
  • The Ant documentation声明“* 我们建议使用1.10.x,除非在构建过程中要求您使用Java8之前的Java版本。*",因此请避免使用Ant 1.9.x。

如果您仍然有问题,请使用以下信息更新您的问题:

  • 您的JAVA_HOMEANT_HOME设置。
  • 指向生成NetBeans时所遵循的说明的链接。
  • 指向用于下载NetBeans源代码得页面得链接.
  • 从控制台提交java -version的输出。

相关问题