Я мигрирую из Dataflow SDK 1.x в 2.x, который использует Apache Beam. Код работает правильно, когда я запускаю его в Eclipse, используя Запускать как Java-приложение . Но когда я компилирую его, используя mvn clean compile сборка: одиночная и затем запустите файл класса с помощью команды java -cp Я получаю эти журналы, за которыми следует исключение
INFO: PipelineOptions.filesToStage was not specified. Defaulting to files
from the classpath: will stage 1 files. Enable logging at DEBUG level to see
which files will be staged.
Apr 25, 2018 11:17:01 AM com.example.LogParser parse
INFO: Currently processing file: File1.gz
Exception in thread "main" java.lang.NoSuchMethodError:
com.google.common.base.Preconditions.checkArgument(ZLjava/lang/
String;Ljava/lang/Object;Ljava/lang/Object;)V at
org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO$Write.expand(BigQueryIO.java:1512)
at org.apache.beam.sdk.io.gcp.bigquery.BigQueryIO$Write.expand(BigQueryIO.java:1041)
at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:537)
at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:472)
at org.apache.beam.sdk.values.PCollection.apply(PCollection.java:286)
at com.example.LogParser.parse(LogParser.java:541)
at
com.example.LogParser.main(LogParser.java:167)
Я попытался обновить guavaверсия, но это не помогло.
Я также заметил, что когда я запускаю свой файл класса, используя eclipse, я получаю этот журнал, который отличается, когда я запускаю его, используя файл jar
INFO: PipelineOptions.filesToStage was not specified. Defaulting to files
from the classpath: will stage 147 files. Enable logging at DEBUG level to
see which files will be staged.