Home > Back-end >  Can't run my Quarkus app after adding JPA
Can't run my Quarkus app after adding JPA

Time:02-21

I'm trying to learn Quarkus, but after adding a JPA dependency the app doesn't initialize anymore.

This is the added dependency:

<dependency>
  <groupId>io.quarkus</groupId>
  <artifactId>quarkus-jdbc-postgresql</artifactId>
</dependency>

Following are the errors I'm having:

[org.tes.uti.TestcontainersConfiguration] (build-47) Attempted to read Testcontainers configuration file at file:/home/fhb/.testcontainers.properties but the file was not found. Exception message: FileNotFoundException: /home/fhb/.testcontainers.properties (No such file or directory)

After that Quarkus keeps on and gets the following error:

Caused by: java.lang.RuntimeException: io.quarkus.runtime.configuration.ConfigurationException: Model classes are defined for the default persistence unit <default> but configured datasource <default> not found: the default EntityManagerFactory will not be created. To solve this, configure the default datasource. Refer to https://quarkus.io/guides/datasource for guidance.

This is my application.properties file:

quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=postgres
quarkus.datasource.password=admin
quarkus.datasource..jdbc.url=jdbc:postgresql://localhost:5432/quarkus-social
quarkus.datasource.jdbc.max-size=16

I think that Quarkus is trying to run tests and for that it needs the .testcontainers.properties file, which I've never created. Anyways I don't want to create that file in /home/fhb/, so theres a way to specify that file location?

Besides thatI would like to know if Testcontainers has something to do with unit tests, which I would like to add to my quarkus application.

Thanks in advance for your help.

CodePudding user response:

I guess the problem is a small typo.

Change from

quarkus.datasource..jdbc.url=jdbc:postgresql://localhost:5432/quarkus-social

To

quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/quarkus-social

If you don't specify the URL of the database and run in dev or test mode, Quarkus uses test containers to start one database for you.

There are tutorials on quarkus.io/guides/datasource.

About tests, you can use test containers or one in memory database as H2. You can find all this on Quarkus guides.

  • Related