Rudge / kotlin-javalin-realworld-example-app

Real world backend API built in Kotlin with Javalin + Koin + Exposed

Home Page:https://github.com/gothinkster/realworld

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Runtime JAR files in the classpath should have the same version

Olafxso opened this issue · comments

Hi,

I would like to see this realworld example, but I cannot get it working.
I have tried to build it using gradlew clean build
There is a warning:

> Task :compileKotlin
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.3.61/e91d61b7cfd9a45566b580fef18bbd5c32d505b5/kotlin-stdlib-jdk8-1.3.61.jar (version 1.3)
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.61/70dffc5f8ac5ea7c34f30deac5b9d8b1d48af066/kotlin-stdlib-jdk7-1.3.61.jar (version 1.3)
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.71/7512db3b3182753bd2e48ce8d345abbadc40fe6b/kotlin-reflect-1.2.71.jar (version 1.2)
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.61/4702105e97f7396ae41b113fdbdc180ec1eb1e36/kotlin-stdlib-1.3.61.jar (version 1.3)
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.61/65abb71d5afb850b68be03987b08e2c864ca3110/kotlin-stdlib-common-1.3.61.jar (version 1.3)
w: Consider providing an explicit dependency on kotlin-reflect 1.3 to prevent strange errors
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath

> Task :compileTestKotlin
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.3.61/e91d61b7cfd9a45566b580fef18bbd5c32d505b5/kotlin-stdlib-jdk8-1.3.61.jar (version 1.3)
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.3.61/70dffc5f8ac5ea7c34f30deac5b9d8b1d48af066/kotlin-stdlib-jdk7-1.3.61.jar (version 1.3)
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.71/7512db3b3182753bd2e48ce8d345abbadc40fe6b/kotlin-reflect-1.2.71.jar (version 1.2)
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.3.61/4702105e97f7396ae41b113fdbdc180ec1eb1e36/kotlin-stdlib-1.3.61.jar (version 1.3)
    C:/Users/olaf.XSODOMAIN/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.3.61/65abb71d5afb850b68be03987b08e2c864ca3110/kotlin-stdlib-common-1.3.61.jar (version 1.3)
w: Consider providing an explicit dependency on kotlin-reflect 1.3 to prevent strange errors
w: Some runtime JAR files in the classpath have an incompatible version. Consider removing them from the classpath

I run the app using gradlew run
Then it logs:

> Task :run
2019-12-05 11:10:19:319 (KOIN)::[i] [PrintLogger] display debug = false
2019-12-05 11:10:19:335 (KOIN)::[i] [properties] load koin.properties
2019-12-05 11:10:19:335 (KOIN)::[i] [properties] load environment properties
2019-12-05 11:10:19:350 (KOIN)::[i] [definition] declare Single [name='AppConfig',class='io.realworld.app.config.AppConfig']
2019-12-05 11:10:19:350 (KOIN)::[i] [definition] declare Single [name='JwtProvider',class='io.realworld.app.utils.JwtProvider']
2019-12-05 11:10:19:350 (KOIN)::[i] [definition] declare Single [name='AuthConfig',class='io.realworld.app.config.AuthConfig']
2019-12-05 11:10:19:350 (KOIN)::[i] [definition] declare Single [name='DataSource',class='javax.sql.DataSource']
2019-12-05 11:10:19:350 (KOIN)::[i] [definition] declare Single [name='Router',class='io.realworld.app.web.Router']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='UserController',class='io.realworld.app.web.controllers.UserController']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='UserService',class='io.realworld.app.domain.service.UserService']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='UserRepository',class='io.realworld.app.domain.repository.UserRepository']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='ArticleController',class='io.realworld.app.web.controllers.ArticleController']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='ArticleService',class='io.realworld.app.domain.service.ArticleService']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='ArticleRepository',class='io.realworld.app.domain.repository.ArticleRepository']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='ProfileController',class='io.realworld.app.web.controllers.ProfileController']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='CommentController',class='io.realworld.app.web.controllers.CommentController']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='CommentService',class='io.realworld.app.domain.service.CommentService']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='CommentRepository',class='io.realworld.app.domain.repository.CommentRepository']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='TagController',class='io.realworld.app.web.controllers.TagController']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='TagService',class='io.realworld.app.domain.service.TagService']
2019-12-05 11:10:19:366 (KOIN)::[i] [definition] declare Single [name='TagRepository',class='io.realworld.app.domain.repository.TagRepository']
2019-12-05 11:10:19:366 (KOIN)::[i] [modules] loaded 18 definitions
2019-12-05 11:10:19:366 (KOIN)::[i] [modules] loaded in 15.789 ms
2019-12-05 11:10:19:366 (KOIN)::[i] [Koin] started in 42.1029 ms
2019-12-05 11:10:19:585 (KOIN)::[i] +-- 'io.realworld.app.config.AuthConfig'
2019-12-05 11:10:19:585 (KOIN)::[i] |	+-- 'io.realworld.app.utils.JwtProvider'
2019-12-05 11:10:19:585 (KOIN)::[i] |	\-- (*) Created
2019-12-05 11:10:19:585 (KOIN)::[i] \-- (*) Created
2019-12-05 11:10:19:585 (KOIN)::[i] +-- 'io.realworld.app.web.Router'
2019-12-05 11:10:19:585 (KOIN)::[i] |	+-- 'io.realworld.app.web.controllers.UserController'
2019-12-05 11:10:19:585 (KOIN)::[i] |	|	+-- 'io.realworld.app.domain.service.UserService'
2019-12-05 11:10:19:585 (KOIN)::[i] |	|	|	+-- 'io.realworld.app.utils.JwtProvider'
2019-12-05 11:10:19:585 (KOIN)::[i] |	|	|	+-- 'io.realworld.app.domain.repository.UserRepository'
2019-12-05 11:10:19:585 (KOIN)::[i] |	|	|	|	+-- 'javax.sql.DataSource'
2019-12-05 11:10:19:694 (KOIN)::[i] |	|	|	|	\-- (*) Created
2019-12-05 11:10:20:178 (KOIN)::[i] |	|	|	\-- (*) Created
2019-12-05 11:10:20:178 (KOIN)::[i] |	|	\-- (*) Created
2019-12-05 11:10:20:178 (KOIN)::[i] |	\-- (*) Created
2019-12-05 11:10:20:178 (KOIN)::[i] |	+-- 'io.realworld.app.web.controllers.ProfileController'
2019-12-05 11:10:20:178 (KOIN)::[i] |	|	+-- 'io.realworld.app.domain.service.UserService'
2019-12-05 11:10:20:178 (KOIN)::[i] |	\-- (*) Created
2019-12-05 11:10:20:178 (KOIN)::[i] |	+-- 'io.realworld.app.web.controllers.ArticleController'
2019-12-05 11:10:20:178 (KOIN)::[i] |	|	+-- 'io.realworld.app.domain.service.ArticleService'
2019-12-05 11:10:20:178 (KOIN)::[i] |	|	|	+-- 'io.realworld.app.domain.repository.ArticleRepository'
2019-12-05 11:10:20:178 (KOIN)::[i] |	|	|	|	+-- 'javax.sql.DataSource'
2019-12-05 11:10:20:194 (KOIN)::[i] |	|	|	\-- (*) Created
2019-12-05 11:10:20:194 (KOIN)::[i] |	|	|	+-- 'io.realworld.app.domain.repository.UserRepository'
2019-12-05 11:10:20:194 (KOIN)::[i] |	|	\-- (*) Created
2019-12-05 11:10:20:194 (KOIN)::[i] |	\-- (*) Created
2019-12-05 11:10:20:194 (KOIN)::[i] |	+-- 'io.realworld.app.web.controllers.CommentController'
2019-12-05 11:10:20:194 (KOIN)::[i] |	|	+-- 'io.realworld.app.domain.service.CommentService'
2019-12-05 11:10:20:194 (KOIN)::[i] |	|	|	+-- 'io.realworld.app.domain.repository.CommentRepository'
2019-12-05 11:10:20:194 (KOIN)::[i] |	|	|	|	+-- 'javax.sql.DataSource'
2019-12-05 11:10:20:209 (KOIN)::[i] |	|	|	\-- (*) Created
2019-12-05 11:10:20:209 (KOIN)::[i] |	|	\-- (*) Created
2019-12-05 11:10:20:209 (KOIN)::[i] |	\-- (*) Created
2019-12-05 11:10:20:209 (KOIN)::[i] |	+-- 'io.realworld.app.web.controllers.TagController'
2019-12-05 11:10:20:209 (KOIN)::[i] |	|	+-- 'io.realworld.app.domain.service.TagService'
2019-12-05 11:10:20:209 (KOIN)::[i] |	|	|	+-- 'io.realworld.app.domain.repository.TagRepository'
2019-12-05 11:10:20:209 (KOIN)::[i] |	|	|	|	+-- 'javax.sql.DataSource'
2019-12-05 11:10:20:209 (KOIN)::[i] |	|	|	\-- (*) Created
2019-12-05 11:10:20:209 (KOIN)::[i] |	|	\-- (*) Created
2019-12-05 11:10:20:209 (KOIN)::[i] |	\-- (*) Created
2019-12-05 11:10:20:209 (KOIN)::[i] \-- (*) Created

Then I browsed to http://localhost:7000/api/
As result:
{"errors":{"body":["Resource can't be found to fulfill the request."]}}

No app is showing, what can be wrong?

Hi @Olafxso, sorry my delay. This is the normal behavior, the warn is because of dynamic version of kotlin in build.gradle, line 19 and the message returned to access /api is because the resource doesn't exists. Try to access /api/tags.

I will try to fix the warn to build.

@Olafxso I added Swagger in project and it is accessible in root path. Please update your version. Thanks!