Java 将HikariCP着色到jar won';行不通

Java 将HikariCP着色到jar won';行不通,java,maven,jar,minecraft,bukkit,Java,Maven,Jar,Minecraft,Bukkit,这看起来很奇怪,不应该发生。不管怎样,让我解释一下发生了什么: 我正在制作一个bukkit插件,它恰好需要访问数据库。为此,我使用HikariCP。我以前在几个项目中使用过它,我应该没有问题,但是发生了一些非常奇怪的事情。在将其作为依赖项添加到pom并配置shade插件对其进行着色后,我构建了jar。我甚至通过使用Winrar来取消归档来检查它的内容,并且它看起来都是应该的。然而,我一加载它,就得到了NoClassDefFound异常。如果这对你有帮助的话,我会在这里提供pom,但正如我所说的,

这看起来很奇怪,不应该发生。不管怎样,让我解释一下发生了什么: 我正在制作一个bukkit插件,它恰好需要访问数据库。为此,我使用HikariCP。我以前在几个项目中使用过它,我应该没有问题,但是发生了一些非常奇怪的事情。在将其作为依赖项添加到pom并配置shade插件对其进行着色后,我构建了jar。我甚至通过使用Winrar来取消归档来检查它的内容,并且它看起来都是应该的。然而,我一加载它,就得到了NoClassDefFound异常。如果这对你有帮助的话,我会在这里提供pom,但正如我所说的,最后的罐子看起来不错。此外,如果您不熟悉Bukkit及其处理插件的方式,那么它非常简单。它基本上有一个文件夹,您可以在其中放置JAR(插件)。然后它扫描它,然后加载插件的主类(在jar中的yml文件中定义,必须扩展JavaPlugin),然后在主类中调用
onEnable()
方法

编辑:忘记添加pom,如下所示:
此外,如果需要堆栈跟踪:

则必须定义应该着色的内容

<execution>       
    <phase>package</phase>
    <goals>
        <goal>shade</goal>
    </goals>
    <configuration>
        <shadedArtifactId>${project.artifactId}-${minecraft.version}</shadedArtifactId>
        <shadedArtifactAttached>true</shadedArtifactAttached>
        <shadedClassifierName>shaded</shadedClassifierName>
        <minimizeJar>true</minimizeJar>
        <!-- INCLUDE SHADE-->
        <artifactSet>              
            <includes>
                <include>groupId:artifactId</include>
            </includes> 
        </artifactSet>          
    </configuration>        
</execution>

包裹
阴凉处
${project.artifactId}-${minecraft.version}
真的
遮住的
真的
groupId:artifactId

是的,我读了你写的东西,但是试试看也许效果更好谢谢你,但我现在无法验证。我完全不知道是什么原因导致了这一问题,但通过将HikariCP的版本改为旧版本(我记不清是哪个版本)显然解决了这一问题。奇怪的是,在那之后,我尝试恢复到hikari的最新版本,但它仍然有效,好像什么都没有发生过。从那时起,我就无法重现这个问题,直到今天我还不知道到底是什么原因导致了这种情况的发生。我只知道这让我发疯。