现在这看起来很奇怪,它不应该发生。无论如何,让我解释一下发生了什么:
我正在制作一个 bukkit 插件,它恰好需要数据库访问。为此,我使用 HikariCP。我之前在几个项目中使用过它,应该没有任何问题,但发生了一些非常奇怪的事情。将其作为依赖项添加到我的 pom 并配置阴影插件以对其进行着色后,我构建了 jar。我什至使用 Winrar 解压来检查其内容,一切看起来都正常。然而,一旦我加载它,我就得到了 NoClassDefFound 异常。如果对你有帮助的话,我会在这里提供 pom,但正如我所说,最终的 jar 看起来不错。另外,如果您不熟悉 Bukkit 及其处理插件的方式,它非常简单。它基本上有一个文件夹,您可以在其中放置 jar(插件)。然后它会扫描它,然后加载插件的主类(在 jar 中的 yml 文件中定义,并且必须扩展 JavaPlugin),然后调用主类中的 onEnable()
方法。
编辑:忘记添加pom,这里是:http://hastebin.com/rapijoyona.xml 另外,如果您需要堆栈跟踪:http://hastebin.com/owazutekum.go
最佳答案
您必须定义应该着色的内容。
<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>
是的,我读了你写的内容,但尝试一下也许效果更好
关于java - 将 HikariCP 阴影放入 jar 中将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39578982/