# Rename by @JvmName("Xxx") or directly use XxxKt?

**URL:** <https://discuss.kotlinlang.org/t/rename-by-jvmname-xxx-or-directly-use-xxxkt/19440>\
**Category:** Support\
**Created:** [October 10, 2020, 4:04pm UTC](https://discuss.kotlinlang.org/t/rename-by-jvmname-xxx-or-directly-use-xxxkt/19440 "2020-10-10T16:04:11Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![fredsuvn](https://avatars.discourse-cdn.com/v4/letter/f/a88e4f/32.png) [@fredsuvn](https://discuss.kotlinlang.org/u/fredsuvn)\
**Post date:** [October 10, 2020, 4:04pm UTC](https://discuss.kotlinlang.org/t/rename-by-jvmname-xxx-or-directly-use-xxxkt/19440/1 "2020-10-10T16:04:11Z")

</div>

I write a lib in kotlin, this lib may be used by both java and kotlin.  
Should I rename the kotlin file(@file:JvmName) to avoid name like “XxxKt”? In kotlin, there is no such problem, in java, it is a little ugly.

---

<div class="post-metadata">

**Author:** ![Wasabi375](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/wasabi375/32/4741_2.png) [@Wasabi375](https://discuss.kotlinlang.org/u/Wasabi375)\
**Post date:** [October 10, 2020, 4:11pm UTC](https://discuss.kotlinlang.org/t/rename-by-jvmname-xxx-or-directly-use-xxxkt/19440/2 "2020-10-10T16:11:56Z")

</div>

It the file contains many top level functions that you expect to be called from java I’d use `@JvmName`. There is also an annotation that allows you to combine files into a single java class to group top level functions. Can’t remember its name but I consider using that as well.
