![](/img/trans.png)
[英]Java: why code packaged into a jar file prevent external classes from accessing?
[英]Accessing classes from libraries packaged in a jar
我已經為應用程序開發了一個插件。 這個插件包括幾個庫
當從應用程序調用插件時,我得到:
java.lang.NoClassDefFoundError: com/sun/media/imageioimpl/plugins/tiff/TIFFImageWriterSpi
我已經確認該類已與插件jar打包在一起,所以我猜測我需要在插件jar中使用某種類加載器來訪問此類-但不確定如何進行。 任何幫助或重定向贊賞。
您需要讓應用程序知道插件jar的位置,以便它可以在運行時加載所需的類。 您可以通過在應用程序jar的META-INF / MANIFEST文件中指定指向插件jar的Class-Path條目來實現。
Class-Path: plugin-jar-name1 plugin-jar-name2
您需要將com.sun.media:jai_imageio:1.1
依賴項添加到pom.xml
。 您可以找到依賴項belwo:
<dependency>
<groupId>com.sun.media</groupId>
<artifactId>jai_imageio</artifactId>
<version>1.1</version>
</dependency>
如果您使用的是簡單項目,則需要從以下鏈接下載jai_imageio.jar
jar文件,並將其放入lib
目錄並添加至構建路徑:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.