Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module function cannot be found for the fully qualified name #1156

Closed
SAGARSURI opened this issue May 27, 2019 · 3 comments
Closed

Module function cannot be found for the fully qualified name #1156

SAGARSURI opened this issue May 27, 2019 · 3 comments
Assignees
Labels
Milestone

Comments

@SAGARSURI
Copy link

I am trying to run my first program.

fun main(args: Array<String>): Unit = io.ktor.server.netty.EngineMain.main(args)

@Suppress("unused") // Referenced in application.conf
@kotlin.jvm.JvmOverloads
fun Application.module(testing: Boolean = false) {
    routing {
        get("/"){
            call.respondText("Hello World")
        }
        get("/hello"){
            call.respondText("Hello Ktor")
        }
    }
}

But I get below error everytime:

Exception in thread "main" java.lang.ClassNotFoundException: Module function cannot be found for the fully qualified name 'com.sagar.ApplicationKt.module'
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.executeModuleFunction(ApplicationEngineEnvironmentReloading.kt:367)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.access$executeModuleFunction(ApplicationEngineEnvironmentReloading.kt:33)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading$instantiateAndConfigureApplication$1$$special$$inlined$forEach$lambda$1.invoke(ApplicationEngineEnvironmentReloading.kt:287)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading$instantiateAndConfigureApplication$1$$special$$inlined$forEach$lambda$1.invoke(ApplicationEngineEnvironmentReloading.kt:33)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.avoidingDoubleStartupFor(ApplicationEngineEnvironmentReloading.kt:320)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.access$avoidingDoubleStartupFor(ApplicationEngineEnvironmentReloading.kt:33)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading$instantiateAndConfigureApplication$1.invoke(ApplicationEngineEnvironmentReloading.kt:286)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading$instantiateAndConfigureApplication$1.invoke(ApplicationEngineEnvironmentReloading.kt:33)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.avoidingDoubleStartup(ApplicationEngineEnvironmentReloading.kt:302)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.instantiateAndConfigureApplication(ApplicationEngineEnvironmentReloading.kt:284)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.createApplication(ApplicationEngineEnvironmentReloading.kt:137)
	at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.start(ApplicationEngineEnvironmentReloading.kt:257)
	at io.ktor.server.netty.NettyApplicationEngine.start(NettyApplicationEngine.kt:116)
	at io.ktor.server.netty.NettyApplicationEngine.start(NettyApplicationEngine.kt:22)
	at io.ktor.server.engine.ApplicationEngine$DefaultImpls.start$default(ApplicationEngine.kt:56)
	at io.ktor.server.netty.EngineMain.main(EngineMain.kt:21)
	at com.sagar.ApplicationKt.main(Application.kt:9)

kotlin-version: 1.3.31

@laxtiz
Copy link

laxtiz commented May 27, 2019

i have same.
if build application with ktor 1.1.5, all ok.
but build with ktor 1.2.0 then run it, i got some error like your.
i don't know why.

@cy6erGn0m
Copy link
Contributor

This is duplicate for #1132 and should be fixed in 1.2.1 that is already on the way.

@homailali
Copy link

homailali commented Jul 1, 2024

For me it was occuring because the package name specified in the application.yaml (under resources folder) was not the same as where my Application file was residing so check whether in your case it is correct or not

src/
└── main/
----└── kotlin/
-------└── example/
------------└── com/
---------------└── application
-------------------└── Application.kt
---------------└── plugins/
-------------------└── Routing.kt

for this folder structure the application.yaml would be

ktor:
application:
modules:
- example.com.application.ApplicationKt.module // this is what you need to check
deployment:
port: 8080

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants