zoukankan      html  css  js  c++  java
  • Idea 打开多profile注意事项

    Maven项目经常会有多个profile,可以方便在编译时指定profile。 如果有多个profile,idea 在打开工程后默认配置可能会有些问题。

    例如:

    最近在编译一个项目:https://github.com/JoshRosen/hive 

    编译命令使用:

    mvn  clean install -gs /xx/maven-settings.xml -Phadoop-2 -DskipTests

    编译成功后使用idea打开工程,但是有类报错。

    HiveConf.java 的  import org.apache.hadoop.conf.Configuration; 报错: Configuration找不到。

    经过分析发现, hive的maven工程对hadoop的依赖有两个profile。

    <profiles>
        <profile>
          <id>hadoop-1</id>
          <dependencies>
            <dependency>
              <groupId>org.apache.hadoop</groupId>
              <artifactId>hadoop-core</artifactId>
              <version>${hadoop-20S.version}</version>
             <optional>true</optional>
            </dependency>
          </dependencies>
        </profile>
       <profile>
          <id>hadoop-2</id>
          <dependencies>
            <dependency>
              <groupId>org.apache.hadoop</groupId>
              <artifactId>hadoop-common</artifactId>
              <version>${hadoop-23.version}</version>
              <optional>true</optional>
            </dependency>
            <dependency>
              <groupId>org.apache.hadoop</groupId>
              <artifactId>hadoop-mapreduce-client-core</artifactId>
              <version>${hadoop-23.version}</version>
              <optional>true</optional>
            </dependency>
          </dependencies>
        </profile>
    

      第一个为1.2.1的版本,第二个为2.6的版本。编译时指定的是-Phadoop-2

    但是idea打开时不知道要选择哪个profile,编译器寻找类时,默认选择第一个。所以此时会报错。

    解决方法:打开idea mven 配置手动勾选profile。 

  • 相关阅读:
    js设置、修改、获取、删除 cookie
    mysql排序让空值NULL排在数字后边
    javascript的函数作用域及声明提前
    修改mysql的密码
    解决thinkphp设置session周期无效的问题
    filter_var() 验证邮箱、ip、url的格式 php
    将中文字符串分割为数组 解决str_split中文乱码php
    生成多个不重复的随机数字php
    javascript控制input只允许输入数字
    推荐开发工具系列之--Clover(文件浏览器)
  • 原文地址:https://www.cnblogs.com/nurseryboy/p/9768978.html
Copyright © 2011-2022 走看看