调试您的插件
插件开发过程中,通常会遇到一些代码逻辑错误、插件的兼容性问题、性能瓶颈等挑战。
合理的使用断点能够帮助我们快速分析、定位问题。
而插件调试需要先在 IDEA 中进行 运行/调试配置
的编辑。
编辑调试配置
使用 IDEA 打开项目。
- 在顶栏中,打开
运行/调试配置
窗口。 - 选择
JAR 应用程序
模板。
- 编辑窗口内容
字段 | 描述 |
---|---|
名称 | Nukkit-MOT |
JAR 路径 | 指 Nukkit-MOT-SNAPSHOT.jar 的完整路径 |
工作目录 | 指 Nukkit-MOT 服务端所处的文件夹路径 |
JRE | 选择 Java 17 运行时 |
最后点击 确定
即可。
自动更新插件到插件目录
通过上述操作,我们已经可以使用 Shift + F9
组合键进行代码调试。
值得注意的是,只有 jar 插件与现在项目中的构建产物相同时,才能使用断点进行分析。
在此,为了方便,我们希望在每次构建成功后自动更新插件到 plugins
目录下。
下面介绍如何对 Maven 项目的 pom.xml
文件进行配置,以实现我们的需求。
添加相关属性
pom.xml
<groupId>cn.nukkitmot</groupId>
<artifactId>example-plugin</artifactId>
<version>1.0.0</version>
<name>ExamplePlugin</name>
<description>An Example Nukkit-MOT Plugin</description>
<url>https://github.com/MemoriesOfTime/ExamplePlugin-Maven/</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<nukkitPluginsPath>C:\BedrockServer\MOT\plugins</nukkitPluginsPath>
</properties>
artifactId 是插件名称,默认情况下构建产物的名称为包含此值。
nukkitPluginsPath 是插件目录的路径,需要手动添加调试环境中的 plugins
目录。
添加 Maven plugins 标签
标签 <build>
被包含在 <project>
中。
pom.xml
<build>
<defaultGoal>clean package</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<outputDirectory>${nukkitPluginsPath}</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<filesets>
<fileset>
<directory>${nukkitPluginsPath}</directory>
<includes>
<include>${artifactId}*.jar</include>
</includes>
</fileset>
</filesets>
</configuration>
<executions>
<execution>
<phase>pre-clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
使用
- 在 IDEA 右侧点击字母 M 图标,打开 Maven 选项卡。
- 点击
clean
进行清理,点击package
进行构建打包。
请注意需要先进行清理而后再进行构建打包,否则上一次的 jar 产物不会被更新。
ExamplePlugin
生命周期
clean
validate
compile
test
package
verify
install
site
deploy
插件
依赖项
仓库
恭喜你,至此已经完成所有配置。