win10 环境下编译hadoop3.1.1 报错

win10 环境下编译hadoop3.1.1 已经好多次啦。安装新系统后,这次遇到个新问题,折腾一两个小时

1.VS 2010 x64 下执行mvn 命令

mvn package -Pdist,native-win -DskipTests -Dtar -e -X

2.hadoop-hdfs-native-client模块报错

报错片段1

  Caused by: org.apache.maven.plugin.MojoExecutionException: An Ant BuildException has occured: exec returned: 1
around Ant part ...<exec failοnerrοr="true" dir="D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target/native" executable="cmake">... @ 5:123 in D:\***\***\hadoop-hdfs-project\
hadoop-hdfs-native-client\target\antrun\build-main.xml
    at org.apache.maven.plugin.antrun.AntRunMojo.execute (AntRunMojo.java:355)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)

报错片段2.

   [exec] “D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\ALL_BUILD.vcxproj”(默认目标) (1) ->
     [exec] “D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs\test_libhdfs_threaded_hdfs_static.vcxproj”(默认目标) (9) ->
     [exec]   native_mini_dfs.lib(jni_helper.obj) : error LNK2019: 无法解析的外部符号 __imp_JNI_CreateJavaVM,该符号在函数 getGlobalJNIEnv 中被引用 [D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs\test_libhdfs_threaded_hdfs_static.vcxproj]
     [exec]   native_mini_dfs.lib(jni_helper.obj) : error LNK2019: 无法解析的外部符号 __imp_JNI_GetCreatedJavaVMs,该符 号在函数 getGlobalJNIEnv 中被引用 [D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs\test_libhdfs_threaded_hdfs_static.vcxproj]
     [exec]   D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs\RelWithDebInfo\test_libhdfs_threaded_hdfs_static.exe : fatal error LNK1120: 2 个无法解析的外部命令 [D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs\test_libhdfs_threaded_hdfs_static.vcxproj]
     [exec]
     [exec]
     [exec] “D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\ALL_BUILD.vcxproj”(默认目标) (1) ->
     [exec] “D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs-tests\test_native_mini_dfs.vcxproj”(默认目标) (11) ->
     [exec]   native_mini_dfs.lib(jni_helper.obj) : error LNK2019: 无法解析的外部符号 __imp_JNI_CreateJavaVM,该符号在函数 getGlobalJNIEnv 中被引用 [D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs-tests\test_native_mini_dfs.vcxproj]
     [exec]   native_mini_dfs.lib(jni_helper.obj) : error LNK2019: 无法解析的外部符号 __imp_JNI_GetCreatedJavaVMs,该符 号在函数 getGlobalJNIEnv 中被引用 [D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs-tests\test_native_mini_dfs.vcxproj]
     [exec]   D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs-tests\RelWithDebInfo\test_native_mini_dfs.exe : fatal error LNK1120: 2 个无法解析的外部命令 [D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\main\native\libhdfs-tests\test_native_mini_dfs.vcxproj]
     [exec]
     [exec]     0 个警告
     [exec]     12 个错误

搞了好久发现被上面的报错误导啦

3.解决办法

最后找到一段关键信息

'D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client/src/'
'-DGENERATED_JAVAH=D:\***\***\hadoop-hdfs-project\hadoop-hdfs-native-client\target/native/javah'
'-DJVM_ARCH_DATA_MODEL=32 ' //我的操作系统是64位的
'-DREQUIRE_FUSE=false'
'-A'
'${env.PLATFORM}'
 

也就是说我把jdk安装成32 位。而我的操作系统是64位的,

下载64位的jdk ,问题解决

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值