2016-09-19 26 views
1

現在,這似乎很奇怪,它不應該發生。無論如何,讓我解釋發生了什麼: 我正在做一個bukkit插件,這恰好需要數據庫訪問。爲此,我使用HikariCP。我之前在幾個項目中使用過它,我應該沒有問題,但真正發生的奇怪事情。在將它作爲依賴項添加到我的pom中並配置了陰影插件來遮擋它之後,我構建了該jar。我甚至通過使用Winrar來解壓它的內容來檢查它的內容,並且它看起來應該是這樣。然而,只要我加載它,我得到了NoClassDefFound異常。如果這對你有幫助,我會在這裏提供POM,但正如我所說,最終的瓶子看起來很好。另外,如果您不熟悉Bukkit以及它處理插件的方式,它非常簡單。它基本上有一個文件夾放置你的罐子(插件)。然後它掃描它,然後加載插件的主類(它在jar中的yml文件中定義,並且必須擴展JavaPlugin),然後在主類中調用onEnable()方法。將HikariCP變成罐子將不起作用

編輯:忘了補充的POM,那就是:http://hastebin.com/rapijoyona.xml 另外,如果你需要的堆棧跟蹤:http://hastebin.com/owazutekum.go

回答

1

您必須定義什麼應該被遮蔽。

<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> 

是的,我看了你寫的,但嘗試一下,也許這工作得更好

+0

謝謝你,但我不能現在實際上驗證。我完全不知道是什麼導致了這種情況,但它顯然是通過將HikariCP的版本更改爲較舊的版本解決的(我不記得具體是哪一個)。奇怪的是,之後我嘗試恢復到最新版本的hikari,它仍然有效,就好像什麼都沒發生過一樣。從那時起,我無法重現這個問題,直到今天,我也不知道究竟是什麼造成了這種情況。我只知道這讓我很生氣。 – dadus33