commons-io:commons-io:jar:2.7:compile breaks flow (24.5) DefaultFileDownloader

Open
#48 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
java, spring-boot

Research direction

Start with the dependency versions shown in the error and the call from DefaultFileDownloader.java:191; inspect the project's dependency configuration for the commons-io conflict. Confirm completion by starting the application successfully without the NoSuchMethodError during DefaultFileDownloader.copy.

Written by the indexing model from the issue text.

Description

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-09-20T13:48:38.025Z ERROR 6771 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    com.vaadin.flow.server.frontend.installer.DefaultFileDownloader.copy(DefaultFileDownloader.java:191)

The following method did not exist:

    'byte[] org.apache.commons.io.IOUtils.byteArray(int)'

The calling method's class, com.vaadin.flow.server.frontend.installer.DefaultFileDownloader, was loaded from the following location:

    jar:file:/home/runner/.m2/repository/com/vaadin/flow-server/24.5.0.beta1/flow-server-24.5.0.beta1.jar!/com/vaadin/flow/server/frontend/installer/DefaultFileDownloader.class

The called method's class, org.apache.commons.io.IOUtils, is available from the following locations:

    jar:file:/home/runner/.m2/repository/commons-io/commons-io/2.7/commons-io-2.7.jar!/org/apache/commons/io/IOUtils.class

The called method's class hierarchy was loaded from the following locations:

    org.apache.commons.io.IOUtils: file:/home/runner/.m2/repository/commons-io/commons-io/2.7/commons-io-2.7.jar


Action:

Correct the classpath of your application so that it contains compatible versions of the classes com.vaadin.flow.server.frontend.installer.DefaultFileDownloader and org.apache.commons.io.IOUtils

2024-09-20T13:48:38.032Z  INFO 6771 --- [  restartedMain] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2024-09-20T13:48:38.038Z  WARN 6771 --- [  restartedMain] o.s.b.f.support.DisposableBeanAdapter    : Invocation of destroy method failed on bean with name 'inMemoryDatabaseShutdownExecutor': org.h2.jdbc.JdbcSQLNonTransientConnectionException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-224]
2024-09-20T13:48:38.038Z  INFO 6771 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2024-09-20T13:48:38.040Z  INFO 6771 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50)
Caused by: java.lang.IllegalStateException: java.lang.NoSuchMethodError: 'byte[] org.apache.commons.io.IOUtils.byteArray(int)'
	at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:825)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:345)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1363)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1352)
	at com.example.application.Application.main(Application.java:24)
	... 5 more
Caused by: java.lang.NoSuchMethodError: 'byte[] org.apache.commons.io.IOUtils.byteArray(int)'
	at com.vaadin.flow.server.frontend.installer.DefaultFileDownloader.copy(DefaultFileDownloader.java:191)
	at com.vaadin.flow.server.frontend.installer.DefaultFileDownloader.downloadFile(DefaultFileDownloader.java:158)
	at com.vaadin.flow.server.frontend.installer.DefaultFileDownloader.download(DefaultFileDownloader.java:83)
	at com.vaadin.flow.server.frontend.installer.NodeInstaller.downloadFileIfMissing(NodeInstaller.java:520)
	at com.vaadin.flow.server.frontend.installer.NodeInstaller.installNode(NodeInstaller.java:257)
	at com.vaadin.flow.server.frontend.installer.NodeInstaller.install(NodeInstaller.java:226)
	at com.vaadin.flow.server.frontend.FrontendTools.installNode(FrontendTools.java:687)
	at com.vaadin.flow.server.frontend.FrontendTools.getNodeExecutable(FrontendTools.java:437)
	at com.vaadin.exampledata.NodeUtil.runScript(NodeUtil.java:36)
	at com.vaadin.exampledata.NodeUtil.initialize(NodeUtil.java:29)
	at com.vaadin.exampledata.NodeScriptInterface.init(NodeScriptInterface.java:28)
	at com.vaadin.exampledata.NodeScriptInterface.getChanceString(NodeScriptInterface.java:34)
	at com.vaadin.exampledata.ChanceStringType.getValue(ChanceStringType.java:22)
	at com.vaadin.exampledata.ChanceStringType.getValue(ChanceStringType.java:6)
	at com.vaadin.exampledata.ExampleDataGenerator.assignValue(ExampleDataGenerator.java:48)
	at com.vaadin.exampledata.ExampleDataGenerator.createBean(ExampleDataGenerator.java:38)
	at com.vaadin.exampledata.ExampleDataGenerator.create(ExampleDataGenerator.java:54)
	at com.example.application.data.DataGenerator.lambda$loadData$1(DataGenerator.java:35)
	at org.springframework.boot.SpringApplication.lambda$callRunner$5(SpringApplication.java:790)
	at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:83)
	at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60)
	at org.springframework.util.function.ThrowingConsumer$1.accept(ThrowingConsumer.java:88)
	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:798)
	at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:789)
	at org.springframework.boot.SpringApplication.lambda$callRunners$3(SpringApplication.java:774)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:774)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:342)
	... 8 more
Dominant language
TypeScript
Stars
6
Forks
2
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from vaadin/example-data

All issues in vaadin/example-data

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.