[SPIGOT-7400] Transitive dependencies from plugin.yml libraries not downloading or loading Created: 18/Jun/23  Updated: 25/Dec/24  Resolved: 09/Dec/23

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Luuk Assignee: Unassigned
Resolution: Done Votes: 0
Labels: Library, bukkit, libraries, maven, plugin, plugin.yml, transitive
Environment:

Windows 10

java 17.0.1 2021-10-19 LTS
Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing)


Attachments: Text File console.1.19.4.log     Text File console.1.20.1.log     File plugin.yml     File reproductionplugin-1.0-SNAPSHOT.jar     Zip Archive reproductionplugin.zip    
Issue Links:
Relates
relates to SPIGOT-7638 Library loader does not seem to resol... Resolved
Version: CraftBukkit version 3809-Spigot-c62f4bd-fcff84d (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT)
Guidelines Read: Yes

 Description   

On CraftBukkit version 3755-Spigot-7d7b241-b346a5f (MC: 1.19.4) (Implementing API version 1.19.4-R0.1-SNAPSHOT) transitive dependencies are loaded for libraries listed in the plugin.yml. When upgrading to CraftBukkit version 3809-Spigot-c62f4bd-fcff84d (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) transitive dependencies are no longer loaded.

Under attachments is a plugin to demonstrate this behavior as well as the plugin.yml used in the attached plugin.

My guess is that is has something to do with the upgrading of maven resolver dependencies: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/diff/pom.xml?until=3635fe1a771a768acc67a9ab8b3ea184fc724bae 

plugin.yml

name: ReproductionPlugin
version: '1.0-SNAPSHOT'
main: me.luukth.reproductionplugin.ReproductionPlugin
api-version: 1.19
libraries:
  - com.google.inject:guice:5.0.1

Console log from 1.19.4

[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/inject/guice/5.0.1/guice-5.0.1.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/inject/guice-parent/5.0.1/guice-parent-5.0.1.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/google/5/google-5.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/guava/guava/30.1-jre/guava-30.1-jre.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/30.1-jre/guava-parent-30.1-jre.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/26.0-android/guava-parent-26.0-android.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/9/oss-parent-9.pom
[11:30:53] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.pom
[11:30:54] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.pom
[11:30:54] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
[11:30:54] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.pom
[11:30:54] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.pom
[11:30:54] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.4/error_prone_parent-2.3.4.pom
[11:30:54] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.pom
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-1/INFO]: Downloading https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-0/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/inject/guice/5.0.1/guice-5.0.1.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-4/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-3/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/guava/guava/30.1-jre/guava-30.1-jre.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-2/INFO]: Downloading https://repo.maven.apache.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-1/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-4/INFO]: Downloading https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-2/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-1/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar
[11:30:54] [BasicRepositoryConnector-repo.maven.apache.org-0-2/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\inject\guice\5.0.1\guice-5.0.1.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\javax\inject\javax.inject\1\javax.inject-1.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\aopalliance\aopalliance\1.0\aopalliance-1.0.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\guava\guava\30.1-jre\guava-30.1-jre.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar
[11:30:54] [Server thread/INFO]: [ReproductionPlugin] Loading ReproductionPlugin v1.0-SNAPSHOT

 

Console log from 1.20.1

[11:30:05] [Server thread/INFO]: [ReproductionPlugin] Loading 1 libraries... please wait
[11:30:05] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/inject/guice/5.0.1/guice-5.0.1.pom
[11:30:06] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/inject/guice-parent/5.0.1/guice-parent-5.0.1.pom
[11:30:06] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/google/5/google-5.pom
[11:30:06] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/google/inject/guice/5.0.1/guice-5.0.1.jar
[11:30:06] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\inject\guice\5.0.1\guice-5.0.1.jar
[11:30:06] [Server thread/INFO]: [ReproductionPlugin] Loading ReproductionPlugin v1.0-SNAPSHOT


 Comments   
Comment by md_5 [ 09/Dec/23 ]

Closing this as I think it is prudent we update. If newer versions of libraries have this issue and it is not itself a Maven issue, we can re-evaluate.

Comment by Luuk [ 18/Jun/23 ]

Following versions of guice work fine.

  • com.google.inject:guice:7.0.0
  • com.google.inject:guice:6.0.0
  • com.google.inject:guice:5.1.0

Issue only seems to occur when using guice 5.0.1 and lower.

Comment by md_5 [ 18/Jun/23 ]

That's interesting, maybe that version of guice has a technically malformed pom?

Comment by md_5 [ 18/Jun/23 ]

I've downgraded to the previous version which no longer exhibits this issue, however leaving ticket open so root cause can be fixed

Comment by Luuk [ 18/Jun/23 ]

Bumping Guice version from 5.0.1 to 7.0.0 in plugin.yml seems to fix the issue. 

[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loading 1 libraries... please wait
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\inject\guice\7.0.0\guice-7.0.0.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\jakarta\inject\jakarta.inject-api\2.0.1\jakarta.inject-api-2.0.1.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\aopalliance\aopalliance\1.0\aopalliance-1.0.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\guava\guava\31.0.1-jre\guava-31.0.1-jre.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\org\checkerframework\checker-qual\3.12.0\checker-qual-3.12.0.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\errorprone\error_prone_annotations\2.7.1\error_prone_annotations-2.7.1.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loaded library C:\Users\luuk\Documenten\Minecraft\Code Server\libraries\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar
[12:07:30] [Server thread/INFO]: [ReproductionPlugin] Loading ReproductionPlugin v1.0-SNAPSHOT 
Comment by md_5 [ 18/Jun/23 ]

This seems specific to guice, other libraries work fine:

 

[20:00:01] [Server thread/INFO]: [TestPlugin] Loading 1 libraries... please wait
[20:00:01] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/4.9.0/okhttp-4.9.0.pom
[20:00:02] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.8.0/okio-2.8.0.pom
[20:00:02] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4.0/kotlin-stdlib-1.4.0.pom
[20:00:02] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.0/kotlin-stdlib-common-1.4.0.pom
[20:00:02] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.pom
[20:00:02] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4.10/kotlin-stdlib-1.4.10.pom
[20:00:02] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.10/kotlin-stdlib-common-1.4.10.pom
[20:00:02] [Server thread/INFO]: Downloading https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/4.9.0/okhttp-4.9.0.jar
[20:00:02] [BasicRepositoryConnector-repo.maven.apache.org-0-0/INFO]: Downloading https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.8.0/okio-2.8.0.jar
[20:00:02] [BasicRepositoryConnector-repo.maven.apache.org-0-1/INFO]: Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.0/kotlin-stdlib-common-1.4.0.jar
[20:00:02] [BasicRepositoryConnector-repo.maven.apache.org-0-2/INFO]: Downloading https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4.10/kotlin-stdlib-1.4.10.jar
[20:00:02] [BasicRepositoryConnector-repo.maven.apache.org-0-3/INFO]: Downloading https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar
[20:00:02] [Server thread/INFO]: [TestPlugin] Loaded library /home/michael/Minecraft Servers/spigot-snapshot/libraries/com/squareup/okhttp3/okhttp/4.9.0/okhttp-4.9.0.jar
[20:00:02] [Server thread/INFO]: [TestPlugin] Loaded library /home/michael/Minecraft Servers/spigot-snapshot/libraries/com/squareup/okio/okio/2.8.0/okio-2.8.0.jar
[20:00:02] [Server thread/INFO]: [TestPlugin] Loaded library /home/michael/Minecraft Servers/spigot-snapshot/libraries/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.0/kotlin-stdlib-common-1.4.0.jar
[20:00:02] [Server thread/INFO]: [TestPlugin] Loaded library /home/michael/Minecraft Servers/spigot-snapshot/libraries/org/jetbrains/kotlin/kotlin-stdlib/1.4.10/kotlin-stdlib-1.4.10.jar
[20:00:02] [Server thread/INFO]: [TestPlugin] Loaded library /home/michael/Minecraft Servers/spigot-snapshot/libraries/org/jetbrains/annotations/13.0/annotations-13.0.jar
 
Generated at Wed Apr 02 10:57:43 UTC 2025 using Jira 10.3.3#10030003-sha1:d220e3fefc8dfc6d47f522d3b9a20c1455e12b7b.