-
Notifications
You must be signed in to change notification settings - Fork 34
Description
Hi! I'm having trouble getting the Twitch4J library through Libby, specially with the resolveTransitiveDependencies() parameter. If it is set to false or unset it will download it just fine (but due to the library missing all its dependencies it won't work).
I'm using the latest snapshot from AlessioDP's repo.
I also didn't see this happening with other libraries that are being also downloaded in my project, just on this one.
Here's the code that loads the libraries:
private static BukkitLibraryManager libraryManager;
private final static String relocationBase = "com{}example{}plugin{}libraries{}";
public static ArrayList<Library> libraries = new ArrayList<Library>() {
{
add(Library.builder()
.groupId("other{}libs{}that")
.artifactId("work-fine")
.version("1.0.0")
.resolveTransitiveDependencies(true)
.build());
add(Library.builder()
.groupId("com{}github{}twitch4j")
.artifactId("twitch4j")
.version("1.25.0")
.resolveTransitiveDependencies(true)
.relocate("com{}github{}twitch4j{}twitch4j", relocationBase + "twitch4j")
.relocate("com{}fasterxml{}jackson", relocationBase + "jackson")
.build());
}
};
public static void LoadLibraries(ChatPointsTTV plugin) {
libraryManager = new BukkitLibraryManager(plugin);
libraryManager.setLogLevel(LogLevel.DEBUG);
libraryManager.addMavenCentral();
ChatPointsTTV.log.info("Loading libraries...");
for (Library lib : libraries) {
try {
libraryManager.loadLibrary(lib);
} catch (Exception e) {
ChatPointsTTV.log.severe("ChatPointsTTV: Failed to load library: " + lib.getArtifactId() + " v" + lib.getVersion() + " \n" + e.getMessage());
e.printStackTrace();
}
}
}On the stack trace below we can see that the error is caused due to not being able to find com.fasterxml.jackson:jackson-base:pom:2.19.0-rc1-SNAPSHOT on Maven Central (same thing happens with Sonatype or JitPack), which is a dependency of com.fasterxml.jackson.core:jackson-databind:jar:2.19.0-rc1-SNAPSHOT. But, if we look at the pom file or the dependencies tab on the Jackson Databind Sonatype page there is no mention of that 2.19.0-rc1-SNAPSHOT version, which is weird. I can imagine that the "-SNAPSHOT" suffix is meant to get the latest version of the package, but it does not seem to be working.
Full stack trace:
[18:33:24 ERROR]: ChatPointsTTV: Failed to load library: twitch4j v1.16.0
java.lang.reflect.InvocationTargetException
[18:33:24 WARN]: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
[18:33:24 WARN]: at ChatPointsTTV-3.0.0-PRERELEASE-2.jar//me.gosdev.chatpointsttv.libraries.libby.transitive.TransitiveDependencyHelper.findTransitiveLibraries(TransitiveDependencyHelper.java:205)
[18:33:24 WARN]: at ChatPointsTTV-3.0.0-PRERELEASE-2.jar//me.gosdev.chatpointsttv.libraries.libby.LibraryManager.resolveTransitiveLibraries(LibraryManager.java:702)
[18:33:24 WARN]: at ChatPointsTTV-3.0.0-PRERELEASE-2.jar//me.gosdev.chatpointsttv.libraries.libby.LibraryManager.loadLibrary(LibraryManager.java:721)
[18:33:24 WARN]: at ChatPointsTTV-3.0.0-PRERELEASE-2.jar//me.gosdev.chatpointsttv.Utils.LibraryLoader.LoadLibraries(LibraryLoader.java:53)
[18:33:24 WARN]: at ChatPointsTTV-3.0.0-PRERELEASE-2.jar//me.gosdev.chatpointsttv.ChatPointsTTV.onLoad(ChatPointsTTV.java:79)
[18:33:24 WARN]: at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:59)
[18:33:24 WARN]: at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:18)
[18:33:24 WARN]: at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:39)
[18:33:24 WARN]: at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:39)
[18:33:24 WARN]: at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:563)
[18:33:24 WARN]: at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:277)
[18:33:24 WARN]: at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1163)
[18:33:24 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:310)
[18:33:24 WARN]: at java.base/java.lang.Thread.run(Thread.java:1575)
[18:33:24 WARN]: Caused by: java.lang.reflect.InvocationTargetException
[18:33:24 WARN]: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
[18:33:24 WARN]: at java.base/java.lang.reflect.Method.invoke(Method.java:580)
[18:33:24 WARN]: at ChatPointsTTV-3.0.0-PRERELEASE-2.jar//me.gosdev.chatpointsttv.libraries.libby.transitive.TransitiveDependencyHelper.findTransitiveLibraries(TransitiveDependencyHelper.java:143)
[18:33:24 WARN]: ... 13 more
[18:33:24 WARN]: Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Failed to collect dependencies at com.github.twitch4j:twitch4j:jar:1.16.0 -> com.github.twitch4j:twitch4j-chat:jar:1.16.0 -> com.github.twitch4j:twitch4j-common:jar:1.16.0 -> com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.0 -> com.fasterxml.jackson.core:jackson-databind:jar:2.19.0-rc1-SNAPSHOT
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:363)
[18:33:24 WARN]: at com.alessiodp.libby.maven.resolver.TransitiveDependencyCollector.findTransitiveDependencies(TransitiveDependencyCollector.java:113)
[18:33:24 WARN]: at com.alessiodp.libby.maven.resolver.TransitiveDependencyCollector.findTransitiveDependencies(TransitiveDependencyCollector.java:143)
[18:33:24 WARN]: at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[18:33:24 WARN]: ... 15 more
[18:33:24 WARN]: Caused by: org.eclipse.aether.collection.DependencyCollectionException: Failed to collect dependencies at com.github.twitch4j:twitch4j:jar:1.16.0 -> com.github.twitch4j:twitch4j-chat:jar:1.16.0 -> com.github.twitch4j:twitch4j-common:jar:1.16.0 -> com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.0 -> com.fasterxml.jackson.core:jackson-databind:jar:2.19.0-rc1-SNAPSHOT
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate.collectDependencies(DependencyCollectorDelegate.java:260)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:87)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:328)
[18:33:24 WARN]: ... 18 more
[18:33:24 WARN]: Caused by: org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for com.fasterxml.jackson.core:jackson-databind:jar:2.19.0-rc1-SNAPSHOT
[18:33:24 WARN]: at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:286)
[18:33:24 WARN]: at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:172)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.resolveCachedArtifactDescriptor(DfDependencyCollector.java:382)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.getArtifactDescriptorResult(DfDependencyCollector.java:368)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:218)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse(DfDependencyCollector.java:343)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:277)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse(DfDependencyCollector.java:343)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:277)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doRecurse(DfDependencyCollector.java:343)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:277)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.processDependency(DfDependencyCollector.java:156)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.process(DfDependencyCollector.java:138)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector.doCollectDependencies(DfDependencyCollector.java:108)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate.collectDependencies(DependencyCollectorDelegate.java:222)
[18:33:24 WARN]: ... 20 more
[18:33:24 WARN]: Caused by: org.apache.maven.model.resolution.UnresolvableModelException: The following artifacts could not be resolved: com.fasterxml.jackson:jackson-base:pom:2.19.0-rc1-SNAPSHOT (absent): Could not find artifact com.fasterxml.jackson:jackson-base:pom:2.19.0-rc1-SNAPSHOT in repo0 (https://repo1.maven.org/maven2/)
[18:33:24 WARN]: at org.apache.maven.repository.internal.DefaultModelResolver.resolveModel(DefaultModelResolver.java:160)
[18:33:24 WARN]: at org.apache.maven.repository.internal.DefaultModelResolver.resolveModel(DefaultModelResolver.java:204)
[18:33:24 WARN]: at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:1009)
[18:33:24 WARN]: at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:801)
[18:33:24 WARN]: at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:327)
[18:33:24 WARN]: at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:243)
[18:33:24 WARN]: at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:281)
[18:33:24 WARN]: ... 40 more
[18:33:24 WARN]: Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: com.fasterxml.jackson:jackson-base:pom:2.19.0-rc1-SNAPSHOT (absent): Could not find artifact com.fasterxml.jackson:jackson-base:pom:2.19.0-rc1-SNAPSHOT in repo0 (https://repo1.maven.org/maven2/)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:473)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:261)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:243)
[18:33:24 WARN]: at org.apache.maven.repository.internal.DefaultModelResolver.resolveModel(DefaultModelResolver.java:158)
[18:33:24 WARN]: ... 46 more
[18:33:24 WARN]: Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.fasterxml.jackson:jackson-base:pom:2.19.0-rc1-SNAPSHOT in repo0 (https://repo1.maven.org/maven2/)
[18:33:24 WARN]: at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:42)
[18:33:24 WARN]: at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:417)
[18:33:24 WARN]: at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:260)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:537)
[18:33:24 WARN]: at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:449)
[18:33:24 WARN]: ... 49 more
Any help or guidance will be appreciated, thanks for reading!