今天要用itext的jar包,去官网看发现好像只能用maven下载,而我之前又换了电脑,没办法咯,重新搭一次maven环境吧,在此记录,已便分享或自己将来查找

为什么要用win来编译hadoop呢?虽然hadoop是用java开发,对于某些组件,Hadoop提供了自己的本地实现.官网给出了说明:
见本地库

首选确定自己环境上jdk装好了,如果没有,先装一下吧

图片 11533793190.png

去官网下载安装包,然后解压放入任意目录下,最好为纯英文目录

现在开始编译,在官网下载对应版本的源码包:解压后,里面的BUILDING.txt文件中有说明

打开命令行

Requirements:* Windows System* JDK 1.7+* Maven 3.0 or later* Findbugs 1.3.9 (if running findbugs)* ProtocolBuffer 2.5.0* CMake 2.6 or newer* Windows SDK 7.1 or Visual Studio 2010 Professional* Windows SDK 8.1 (if building CPU rate control for the container executor)* zlib headers (if building native code bindings for zlib)* Internet connection for first build (to fetch all Maven and Hadoop dependencies)* Unix command-line tools from GnuWin32: sh, mkdir, rm, cp, tar, gzip. These tools must be present on your PATH.Unix command-line tools are also included with the Windows Git package whichcan be downloaded from http://git-scm.com/download/win.If using Visual Studio, it must be Visual Studio 2010 Professional .Do not use Visual Studio Express. It does not support compiling for 64-bit,which is problematic if running a 64-bit system. The Windows SDK 7.1 is free todownload here:

vi .bash_profile

按照上面的要求去下载相应的安装包,jdk,maven已经有了.

 

其他下载好对应的版本,配置相应的环境变量

MAVEN_HOME=/Users/userName/apache-maven-3.5.2
PATH=$MAVEN_HOME/bin:$PATH

export MAVEN_HOME
export PATH

Findbugs 1.3.9 path里面指到 bin目录下

按esc

ProtocolBuffer 2.5.0(一定下载此版本,新的版本有改动)下载地址

:wq

下载两个文件 protobuf-2.5.0.zip 和 protoc-2.5.0-win32.zip
将后者压缩包里的protoc.exe放到前者解压目录下的src下配置环境变量,path里面指向src下

然后重启电脑,再次打开命令行,输入mvn -v

cmake 可以安装最新版,去官网下就行.配好环境变量

如果能返回

zlib 在网上找了一个zlib128-dll,环境变量指向.dll文件

localhost:~ userName$ mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /Users/userName/apache-maven-3.5.2
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.4", arch: "x86_64", family: "mac"

我安装windows sdk 7.1好像失败了,于是下载了vs2010,

就说明maven环境已经搭建成功了。

找到vs2010工具中的命令行窗口,进入源码包目录下,执行mvn package
-Pdist,native-win-DskipTests -Dtar出现了.sh文件无法执行的错误,在
win的黑窗口无法执行linux下的命令,所有下载git,使之能运行.

这时候,在你的电脑上,再打开一个目录,创建两个文件

按照网上的方法去编译,编译winutils.sln出错了,查找了半天,我本地电脑上安装了.net
Framework4.0以上的版本,于是卸载了,重新安装了4.0的版本.

这是pom.xml

再就是有两处要去下载tomcat6.0.48,但是官网下载地址被墙(镜像站已不提供过期版本的下载)了,浪费我比较长时间去网上找相关资源,最后利用百度云解决了.把下载的tomcat
tar.gz
放到以下路径下:E:\hadoop-2.7.7-src\hadoop-common-project\hadoop-kms\downloads

<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>temp.download</groupId>
    <artifactId>temp-download</artifactId>
    <version>1.0-SNAPSHOT</version> 
    <dependencies>
<!-- 需要下载什么jar包 添加相应依赖 其余部分无需在意-->
        <dependency>
          <groupId>com.itextpdf</groupId>
          <artifactId>itextpdf</artifactId>
          <version>5.5.12</version>
        </dependency>

        <dependency>
          <groupId>com.itextpdf</groupId>
          <artifactId>itext-pdfa</artifactId>
          <version>5.5.12</version>
        </dependency>

        <dependency>
          <groupId>com.itextpdf</groupId>
          <artifactId>itext-xtra</artifactId>
          <version>5.5.12</version>
        </dependency>

        <dependency>
          <groupId>com.itextpdf.tool</groupId>
          <artifactId>xmlworker</artifactId>
          <version>5.5.12</version>
        </dependency>
    </dependencies>
</project>

E:\hadoop-2.7.7-src\hadoop-hdfs-project\hadoop-hdfs-httpfs\downloads

接下来是download.sh文件

具体地址以参照源码包地址

mvn -f /Users/userName/maven2Jars/pom.xml dependency:copy-dependencies

然后接下来就没有报错了,成功了.

 

图片 21533731053.png

好了,就是如此了,大功告成,然后进入命令行,通过sh命令执行download.sh文件就可以了。

还可以把download.sh改成download.command文件,这样就可以在macOS中通过双击执行了。

 

 

仅以此做为记录分享,希望能对人有所帮助。

 

相关文章