Kotlin / kotlin-jupyter

Kotlin kernel for Jupyter/IPython
Apache License 2.0
1.09k stars 106 forks source link

Using a non-default Maven local repository path #365

Closed magrossi closed 2 years ago

magrossi commented 2 years ago

Hi, I use non-default path for the maven repository (this is company mandated, so I cannot change it). I inspected the code here, and found that all I need to change the local maven repo path is to set it in the property maven.repo.local. However, I can't find a way to add this property to the Kernel. Also, it would be preferrable, IMO to use ~/.m2/settings.xml to determine what is the local repos location instead of using a property, what do you think? Thank you!

ileasile commented 2 years ago

Hi! Generally yes, it's a place to improve. But if your Maven Local is inside some local directory, you may just specify it like

@file:Repository("/path/to/maven/local")
magrossi commented 2 years ago

Thank you. I can see it's trying to use the local maven now, however when I try to import the jar generated by my project it can't find it (even though it is there in maven local). I still get the same error message:

Failed to resolve group-id:artifact:local-SNAPSHOT:
File 'group-id:artifact:local-SNAPSHOT' not found
File '/Users/my-user/.m2/custom-dir/group-id:artifact:local-SNAPSHOT' not found
org.jetbrains.kotlin.org.eclipse.aether.resolution.DependencyResolutionException: Could not find artifact group-id:artifact:jar:local-SNAPSHOT in https___repo.maven.apache.org_maven2_ (https://repo.maven.apache.org/maven2/)
ileasile commented 2 years ago

@magrossi yes, I see. I've fixed it on Kotlin side: https://github.com/JetBrains/kotlin/commit/edacd90a6cf90a34b07353dfcc92000477212ca7

Once I'll update Kotlin to the latest version, you'll be able to use the repository that you specified in settings.xml