Hi Nick,

>> [error] ………………/src/main/scala/org/example/Job.scala:30:13: object util is 
>> not a member of package org.apache.flink.table.api.java
>> [error] import java.util.ArrayList


The error message shows that it tries to find "util.ArrayList" under package 
"org.apache.flink.table.api.java". So you can try one of the following two 
solutions:
1) Don't import "org.apache.flink.table.api._"
2) Use absolute import: "import _root_.java.util.ArrayList"

Regards,
Dian

> 在 2019年9月26日,下午10:04,Nicholas Walton <[email protected]> 写道:
> 
> I’ve shrunk the problem down to a minimal size. The code 
> 
> package org.example
> 
> import org.apache.flink.table.api._
> import org.apache.http.HttpHost
> 
> import java.util.ArrayList
> 
> object foo {
> 
>   val httpHosts = new ArrayList[HttpHost]
>   httpHosts.add(new HttpHost("samwise.local", 9200, "http"))
> 
> }
> will not compile, but remove the import org.apache.flink.table.api._ and all 
> is well
> 
> Nick
> 
> 
>> On 26 Sep 2019, at 12:53, Nicholas Walton <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> I’m having a problem using ArrayList in Scala . The code is below
>> 
>> import org.apache.flink.core.fs._
>> import org.apache.flink.streaming.api._
>> import org.apache.flink.streaming.api.scala._
>> import org.apache.flink.table.api._
>> import org.apache.flink.table.api.scala._
>> import org.apache.flink.table.sinks._
>> import org.apache.http.HttpHost
>> import org.slf4j.LoggerFactory
>> 
>> import java.util.ArrayList
>> 
>> object Job {
>> 
>>   val httpHosts = new ArrayList[HttpHost]
>>   httpHosts.add(new HttpHost("samwise.local", 9200, "http"))
>>     …..
>> 
>> }
>> 
>> Scala refuses to recognise ArrayList. The IDE InteliJ likewise flags 
>> java.util as not existing, even though it recognises ArrayList and suggest 
>> auto-insertion of the import java.utils.ArrayList statement. The compilation 
>> errors are
>> 
>> [error] ………………/src/main/scala/org/example/Job.scala:30:13: object util is 
>> not a member of package org.apache.flink.table.api.java
>> [error] import java.util.ArrayList
>> [error]             ^
>> [error] ………………/src/main/scala/org/example/Job.scala:34:23: not found: type 
>> ArrayList
>> [error]   val httpHosts = new ArrayList[HttpHost]
>> [error]                       ^
>> [error] two errors found
>> [error] (Compile / compileIncremental) Compilation failed
>> 
>> Without the ArrayList reference the code compiles with no errors.
>> 
>> The sbt build file, if it helps is,
>> 
>> resolvers in ThisBuild ++= Seq("Apache Development Snapshot Repository" at 
>> "https://repository.apache.org/content/repositories/snapshots/ 
>> <https://repository.apache.org/content/repositories/snapshots/>", 
>> Resolver.mavenLocal)
>> 
>> name := "Flink MultiChannel Project"
>> 
>> version := "0.1-SNAPSHOT"
>> 
>> organization := "org.example"
>> 
>> scalaVersion in ThisBuild := "2.11.0"
>> 
>> val flinkVersion = "1.8.1"
>> 
>> val flinkDependencies = Seq(
>>   "org.apache.flink" %% "flink-scala" % flinkVersion ,
>>   "org.apache.flink" %% "flink-table" % "1.7.2" ,
>>   "org.apache.flink" %% "flink-connector-elasticsearch" % flinkVersion,
>>   "org.apache.flink" %% "flink-streaming-scala" % flinkVersion,
>>   "org.apache.httpcomponents" % "httpclient" % "4.5.10",
>>   "org.apache.httpcomponents" % "httpcore" % "4.4.11")
>> // https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore 
>> <https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore>
>> 
>> lazy val root = (project in file(".")).
>>   settings(
>>     libraryDependencies ++= flinkDependencies)
>> 
>> mainClass in assembly := Some("org.example.Job")
>> 
>> // make run command include the provided dependencies
>> run in Compile := Defaults.runTask(fullClasspath in Compile, mainClass in 
>> (Compile, run), runner in (Compile, run))
>> 
>> // exclude Scala library from assembly
>> assemblyOption in assembly := (assemblyOption in 
>> assembly).value.copy(includeScala = false)
>> 
>> 
>> TIA
>> 
>> Nick
> 

Reply via email to