the period is for 6 months,还是 the period is 6 months,哪个表达正确?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了the period is for 6 months,还是 the period is 6 months,哪个表达正确?相关的知识,希望对你有一定的参考价值。

参考技术A 应该是is那句。但我觉得应a period of six month更好 参考技术B the period is 6 months 参考技术C a period of six months

The method iterator() is ambiguous for the type KafkaStream

一、  The method iterator() is ambiguous for the type KafkaStream<byte[],byte[]> 

        最近在学习消息总线Kafka的时候,在IDEA中写了一个简单的生产者和消费者demo。但是消费者端一直报错。错误信息如下:

  1  ConsumerIterator<byte[],byte[]> it =stream.iterator();
  2  这句代码老是报错,The method iterator() is ambiguous for the type KafkaStream<byte[],byte[]>

         后来博主在网上找了一些资料,解决方法记录一下:

         poom.xml文件如下:

  1 <dependencies>
  2       <dependency>
  3             <groupId>org.apache.kafka</groupId>
  4             <artifactId>kafka_2.9.2</artifactId>
  5             <version>0.8.1.1</version>
  6             <exclusions>
  7                 <exclusion>
  8                     <artifactId>jmxtools</artifactId>
  9                     <groupId>com.sun.jdmk</groupId>
 10                 </exclusion>
 11                 <exclusion>
 12                     <artifactId>jmxri</artifactId>
 13                     <groupId>com.sun.jmx</groupId>
 14                 </exclusion>
 15                 <exclusion>
 16                     <artifactId>jms</artifactId>
 17                     <groupId>javax.jms</groupId>
 18                 </exclusion>
 19                 <exclusion>
 20                     <groupId>org.apache.zookeeper</groupId>
 21                     <artifactId>zookeeper</artifactId>
 22                 </exclusion>
 23                 <exclusion>
 24                     <groupId>org.slf4j</groupId>
 25                     <artifactId>slf4j-log4j12</artifactId>
 26                 </exclusion>
 27                 <exclusion>
 28                     <groupId>org.slf4j</groupId>
 29                     <artifactId>slf4j-api</artifactId>
 30                 </exclusion>
 31             </exclusions>
 32         </dependency>
 33     </dependencies>
 34 
 35     <build>
 36         <plugins>
 37             <plugin>
 38                 <artifactId>maven-assembly-plugin</artifactId>
 39                 <configuration>
 40                     <descriptorRefs>
 41                         <descriptorRef>jar-with-dependencies</descriptorRef>
 42                     </descriptorRefs>
 43                     <archive>
 44                         <manifest>
 45                             <mainClass></mainClass>
 46                         </manifest>
 47                     </archive>
 48                 </configuration>
 49                 <executions>
 50                     <execution>
 51                         <id>make-assembly</id>
 52                         <phase>package</phase>
 53                         <goals>
 54                             <goal>single</goal>
 55                         </goals>
 56                     </execution>
 57                 </executions>
 58             </plugin>
 59             <!--<plugin>-->
 60                 <!--<groupId>org.apache.maven.plugins</groupId>-->
 61                 <!--<artifactId>maven-compiler-plugin</artifactId>-->
 62                 <!--<version>3.1</version>-->
 63                 <!--<configuration>-->
 64                     <!--<source>1.8</source>-->
 65                     <!--<target>1.8</target>-->
 66                     <!--<showWarnings>true</showWarnings>-->
 67                 <!--</configuration>-->
 68             <!--</plugin>-->
 69         </plugins>
 70     </build>

首先将maven中的poom.xml文件中以下内容注释掉:

  1 <plugin>
  2   <groupId>org.apache.maven.plugins</groupId>
  3   <artifactId>maven-compiler-plugin</artifactId>
  4   <version>3.1</version>
  5   <configuration>
  6     <source>${jdk.version}</source>
  7     <target>${jdk.version}</target>
  8     <showWarnings>true</showWarnings>
  9   </configuration>
 10 </plugin>

然后在自己的IDEA MAVEN项目中配置默认jdk版本:

配置方法如下:

第一种:在maven的安装目录找到settings.xml文件,在里面添加如下代码

  1 <profile>
  2     <id>jdk-1.8</id>
  3      <activation>
  4           <activeByDefault>true</activeByDefault>
  5           <jdk>1.8</jdk>
  6       </activation>
  7 <properties>
  8 <maven.compiler.source>1.8</maven.compiler.source>
  9 <maven.compiler.target>1.8</maven.compiler.target>
 10 <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
 11 </properties>
 12 </profile>

添加完后,在对IDEA进行设置。file->setting->maven->user settings file,user settings file那里选择maven安装目录下的settings.xml文件.

image

第二种方法是在第一种的基础之上:user settings的默认settigs.xml文件路径为:C:\\Users\\Administrator\\.m2。只要把设置好的settings.xml文件复制到该目录下,然后update project就好了。

二、kafka消费消息的时候一直打印DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x3638d0cc1260003 after 0ms

我的问题是因为集群中的zookeeper版本是3.4.5。但是我在IDEA的poom.xml文件中又排除了zookeeper的jar包。将poom.xml文件中对zookeeper的排除注释掉就可以了。

对exclusion解释:

     用maven管理库依赖,有个好处就是连同库的依赖的全部jar文件一起下载,免去手工添加的麻烦,但同时也带来了同一个jar会被下载了不同版本的问题,好在pom的配置里面允许用<exclusion>来排除一些不需要同时下载的依赖jar 。

      比如配置kafka,它会同时下载jmxri和jmxtools等相关的jar,但版本又不够新,这时可以排除它们:

  1 <dependency>
  2             <groupId>org.apache.kafka</groupId>
  3             <artifactId>kafka_2.9.2</artifactId>
  4             <version>0.8.1.1</version>
  5             <exclusions>
  6                 <exclusion>
  7                     <artifactId>jmxtools</artifactId>
  8                     <groupId>com.sun.jdmk</groupId>
  9                 </exclusion>
 10                 <exclusion>
 11                     <artifactId>jmxri</artifactId>
 12                     <groupId>com.sun.jmx</groupId>
 13                 </exclusion>
 14                 <exclusion>
 15                     <artifactId>jms</artifactId>
 16                     <groupId>javax.jms</groupId>
 17                 </exclusion>
 18                 <!--<exclusion>-->
 19                     <!--<groupId>org.apache.zookeeper</groupId>-->
 20                     <!--<artifactId>zookeeper</artifactId>-->
 21                 <!--</exclusion>-->
 22                 <exclusion>
 23                     <groupId>org.slf4j</groupId>
 24                     <artifactId>slf4j-log4j12</artifactId>
 25                 </exclusion>
 26                 <exclusion>
 27                     <groupId>org.slf4j</groupId>
 28                     <artifactId>slf4j-api</artifactId>
 29                 </exclusion>
 30             </exclusions>
 31         </dependency>

以上是关于the period is for 6 months,还是 the period is 6 months,哪个表达正确?的主要内容,如果未能解决你的问题,请参考以下文章

Welcome! This is the documentation for Python 3.6.8

exe文件打开会出现这个提示Trial period is expired.Please register the program to continue.

质保期自出口报关之日起第5个月开始计算,为期1年, 易损件不包括在内。 The warranty period is 1 year

高中必修3Module 3 Period 1 Reading— What Is a Tornado?翻译!急!急!!急!!!

non monthly model period是啥意思

《人月神话》(The Mythical Man-Month)6贯彻执行(Passing the Word)