即使JAR存在于插件中,JAR的类也不会加载到类路径中,spiget也无法访问这些类。
您可以使用插件,例如
maven-shade-plugin
,它将所有类从API-JAR复制到插件JAR。
provided
到
compile
.
<dependency>
<groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId>
<version>[2.0.0,3.0.0)</version>
<scope>compile</scope> <!-- -->
</dependency>
maven-shade-plugin
build > plugins
在你的内心
pom.xml
<build>
<!-- ... -->
<plugins>
<!-- ... -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- ... -->
</plugins>
<!-- ... -->
</build>
如果您现在构建jar(使用。
man clean package
),目标/文件夹中应该有一个“fat-”jar文件,其中包含API的类以及您的类。
之前插件的内容:
â com
â foamguy
â myfirstplugin
â ...
â plugin.yml
â jSerialComm-xxx.jar
您的插件在以下情况下的内容:
â com
â foamguy
â myfirstplugin
â ...
â fazecast
â jSerialComm
â ...
â plugin.yml