下载源代码

Ranger github源代码

从git中下载源码,直接git clone或者下载压缩包。

编译

开始编译

mvn clean package -DskipTests

编译可能遇见的报错:

如果报错是因为有的jar包依赖下载不下来,则直接去maven仓库网站中,下载相应的jar包依赖到本地的maven仓库中。
如果是因为PhantomJS报错,则在运行命令后面加上-DskipJSTests,这个参数跳过测试。PhantomJS是用来测试的,也是因为网络问题可能会报错。

在这里插入图片描述
编译完成后,在target文件夹中就会生成多个tar.gz文件

报错信息

[INFO] Knox Security Plugin ............................... FAILURE [  0.137 s]


[ERROR] Failed to execute goal on project ranger-knox-plugin: Could not resolve dependencies for project org.apache.ranger:ranger-knox-plugin:jar:2.3.0: com.cloudera.api.swagger:cloudera-manager-api-swagger:jar:7.0.3 was not found in https://maven.aliyun.com/repository/spring-plugin during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of aliyunmaven has elapsed or updates are forced -> [Help 1]

解决办法

修改 knox-agent/pom.xml

        <dependency>
            <groupId>org.apache.knox</groupId>
            <artifactId>gateway-test-release-utils</artifactId>
            <scope>test</scope>
            <version>${knox.gateway.version}</version>
            <exclusions>
            	  <!-- 移除 错误版本 -->
                <exclusion>
                    <groupId>com.cloudera.api.swagger</groupId>
                    <artifactId>cloudera-manager-api-swagger</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.knox</groupId>
                    <artifactId>gateway-provider-security-pac4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>net.minidev</groupId>
                    <artifactId>json-smart</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

报错信息

[INFO] Security Admin Web Application ..................... FAILURE [  2.183 s]


[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.6:install-node-and-npm (install node and npm) on project security-admin-web: 
Could not download Node.js: Got error code 404 from the server. -> [Help 1]

解决办法

vim security-admin/pom.xml

<!-- 修改前 -->
       <execution>
           <phase>process-resources</phase>
           <id>install node and npm</id>
           <goals>
               <goal>install-node-and-npm</goal>
           </goals>
           <configuration>
               <nodeVersion>v8.12.0</nodeVersion>
               <npmVersion>6.4.1</npmVersion>
           </configuration>
       </execution>

<!-- 修改后 -->
       <execution>
           <phase>process-resources</phase>
           <id>install node and npm</id>
           <goals>
               <goal>install-node-and-npm</goal>
           </goals>
           <configuration>
		       <nodeDownloadRoot>https://nodejs.org/dist/</nodeDownloadRoot>
			   <nodeVersion>v16.14.2</nodeVersion>
			   <npmVersion>8.5.5</npmVersion>
           </configuration>
       </execution>

报错信息

在这里插入图片描述
Failed to collect dependencies at
org.apache.hbase:hbase-server:jar:2.2.6 -> org.glassfish.web:javax.servlet.jsp:jar:2.3.2 -> org.glassfish:javax.el:jar:3.0.1-b06-SNAPSHOT

Failed to read artifact descriptor for org.glassfish:javax.el:jar:3.0.1-b06-SNAPSHOT: Could not transfer artifact org.glassfish:javax.el:pom:3.0.1-b06-SNAPSHOT

[ERROR] Failed to execute goal on project ranger-hbase-plugin-shim: 
Could not resolve dependencies for project org.apache.ranger:ranger-hbase-plugin-shim:jar:2.3.0: 
Failed to collect dependencies at 
org.apache.hbase:hbase-server:jar:2.2.6 -> org.glassfish.web:javax.servlet.jsp:jar:2.3.2 -> org.glassfish:javax.el:jar:3.0.1-b06-SNAPSHOT: 
Failed to read artifact descriptor for org.glassfish:javax.el:jar:3.0.1-b06-SNAPSHOT: Could not transfer artifact org.glassfish:javax.el:pom:3.0.1-b06-SNAPSHOT 
from/to apache.snapshots.https (https://repository.apache.org/content/repositories/snapshots): 
transfer failed for https://repository.apache.org/content/repositories/snapshots/org/glassfish/javax.el/3.0.1-b06-SNAPSHOT/javax.el-3.0.1-b06-SNAPSHOT.pom, proxy: ProxyInfo{host='proxy_ip', userName='null', port=0, type='http', nonProxyHosts='null'} ->

解决办法

vim pom.xml 在 dependencyManagement > dependencies 下添加

      <dependency>
          <groupId>org.glassfish</groupId>
          <artifactId>javax.el</artifactId>
          <version>3.0.1-b06</version>
      </dependency>

错误信息:

[INFO] Security Admin Web Application ..................... SUCCESS [ 44.046 s]
[INFO] KAFKA Security Plugin .............................. FAILURE [  0.878 s]


[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project ranger-kafka-plugin: Compilation failure -> [Help 1]

解决方案:

     <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.3</version>
         <configuration>
             <useIncrementalCompilation>false</useIncrementalCompilation>
             <source>${javac.source.version}</source>
             <target>${javac.target.version}</target>
             <encoding>UTF-8</encoding>
             <maxmem>1024m</maxmem>
             <fork>false</fork> <!-- true 改为 false -->
         </configuration>
     </plugin>

错误信息

Failed to execute goal on project ranger-solr-plugin: Could not resolve dependencies for project org.apache.ranger:ranger-solr-plugin:jar:2.3.0: The following artifacts could not be resolved: org.restlet.jee:org.restlet:jar:2.4.3, org.restlet.jee:org.restlet.ext.servlet:jar:2.4.3: org.restlet.jee:org.restlet:jar:2.4.3 was not found in

[INFO] KAFKA Security Plugin .............................. SUCCESS [  2.839 s]
[INFO] SOLR Security Plugin ............................... FAILURE [  0.118 s]

[ERROR] Failed to execute goal on project ranger-solr-plugin: Could not resolve dependencies for project org.apache.ranger:ranger-solr-plugin:jar:2.3.0: The following artifacts could not be resolved: org.restlet.jee:org.restlet:jar:2.4.3, org.restlet.jee:org.restlet.ext.servlet:jar:2.4.3: org.restlet.jee:org.restlet:jar:2.4.3 was not found in https://maven.aliyun.com/repository/spring-plugin during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of aliyunmaven has elapsed or updates are forced -> [Help 1]
[ERROR] 

解决办法

vim pom.xml 修改 solr.version 版本

<!-- 修改前 -->
		<solr.version>8.6.3</solr.version>
<!-- 修改后 -->
        <solr.version>8.7.0</solr.version>

更多推荐