mvn install解决依赖报红

写一个简单的spark读取phoenix的工具类代码,导入phoenix-spark的依赖之后,maven依赖一直报红,尝试各种解决办法,包括删除仓库中.lastupdated文件后reimport,使用compile命令下载依赖,使用invalidate cache and restart重启idea等等,均未得到解决。而且在maven仓库里可以找到这个jar包,但是这个jar包的依赖包全线爆红,怀疑是maven对这个jar包的安装有问题。

pom文件如下

<dependency>
    <groupId>org.apache.phoenix</groupId>
    <artifactId>phoenix-spark</artifactId>
    <version>5.0.0-HBase-2.0</version>
</dependency>

代码如下

object  PhoenixUtil {

  def main(args: Array[String]): Unit = {
      val list:  List[ JSONObject] = queryList("select * from  CUSTOMER")
      println(list)
  }
  
  def   queryList(sql:String):List[JSONObject]={
         Class.forName("org.apache.phoenix.jdbc.PhoenixDriver")
        val resultList: ListBuffer[JSONObject] = new  ListBuffer[ JSONObject]()
        val conn: Connection = DriverManager.getConnection("jdbc:phoenix:hadoop1,hadoop2,hadoop3:2181")
        val stat: Statement = conn.createStatement
        println(sql)
        val rs: ResultSet = stat.executeQuery(sql )
        val md: ResultSetMetaData = rs.getMetaData
        while (  rs.next ) {
           val rowData = new JSONObject();
          for (i  <-1 to md.getColumnCount  ) {
              rowData.put(md.getColumnName(i), rs.getObject(i))
          }
          resultList+=rowData
        }

        stat.close()
        conn.close()
        resultList.toList
  }
 
}

解决过程:

  1. 删掉org/apache/phoenix/phoenix-spark/5.0.0-HBase-2.0路径下的全部文件。
  2. 去maven官网下载该jar包。
  3. 执行mvn install命令。
    mvn install:install-file -Dfile=“jar包路径” -DgroupId=org.apache.phoenix -DartifactId=phoenix-spark -Dversion=5.0.0-HBase-2.0 -Dpackaging=jar
    执行该命令的前提是有配置maven的环境变量,并且配置的环境变量的maven和idea工程中使用的maven是同一个。
  4. 问题解决,不再报红

猜你喜欢

转载自blog.csdn.net/shkstart/article/details/108264162
mvn
今日推荐