搭建开发环境
- 文章作者: flytreeleft - flytreeleft@crazydan.org
- 文章链接: https://nop.crazydan.io/docs/practice/build
- 版权声明: 本文章采用许可协议《署名 4.0 国际 (CC BY 4.0)》,转载或商用请注明文章来源及作者信息。
可以直接按照 https://repo.nop.crazydan.io/ 的说明在本地开发环境中引入其提供的 Maven 仓库,以快速进行项目开发。
Nop 源码构建
环境要求:
- JDK 17+
- Maven 3.9.3+
本地构建并发布:
# 注意,请根据当前运行环境修改 JDK 17+ 的安装路径
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
git clone https://gitee.com/canonical-entropy/nop-entropy
cd nop-entropy
mvn clean install -DskipTests -Dquarkus.package.type=uber-jar
以上命令也是为了便于拉取 Maven 依赖包,避免 IDEA 下载依赖出现问题。
在 IDEA 导入项目后,需调整项目配置(File -> Project Structure...):

确保 IDEA 的 Maven 配置(
File -> Settings -> Build, Execution, Deployment -> Maven -> Local repository) 指向了与mvn命令相同的仓库路径。
Nop IDEA 插件构建
# 注意,请根据当前运行环境修改 JDK 17+ 的安装路径
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
cd nop-idea-plugin
bash ./gradlew buildPlugin
可以直接下载并使用每日构建的该插件安装包 nop-idea-plugin-1.0-SNAPSHOT.zip。
构建完成后,进入 IDEA 的插件管理(File -> Settings -> Plugins),
点击齿轮图标,并选择 Install Plugin from Disk ...,再选中构建的插件
nop-idea-plugin/build/distributions/nop-idea-plugin-1.0-SNAPSHOT.zip
以安装到 IDEA 中。
安装后,需要清空 IDEA 缓存并重启:File -> Invalidate Caches...。
在启动 XLang 调试之前,需要为带静态 #main 函数的启动类 XxxApplication
新建一个 XLang Runner 类型的 Run/Debug 配置:

然后,选择 XLangDebug 以调试模式启动 XxxApplication:

对 Maven 构建的调试
编辑 IDEA 的构建配置,并新增 Maven 类型的构建:

Run下填写mvn的构建配置项Working directory为执行mvn的模块根目录
完成配置后,便可以以调试模式执行 mvn 命令,如果引入 Maven 源码,
则可以调试 Maven 代码,若是需要调试 XDSL 的代码生成逻辑,则在
XCodeGenerator 内设置断点即可。
调试可执行 Jar 包
# 注意,请根据当前运行环境修改 JDK 17+ 的安装路径
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
${JAVA_HOME}/bin/java \
-jar \
-agentlib:jdwp=transport=dt_socket,address=8081,server=y,suspend=n \
/path/to/jar
address=8081指定的是调试服务连接端口号,可根据情况自行调整- 若需要调试启动相关的代码,则需将参数
suspend的值设为n,即suspend=n
内置的开发与调试工具
- Quarkus 开发工具:
/q/dev,/q/dev-ui - GraphQL 调试工具:
/q/graphql-ui - 查看后台所有的 GraphQL 服务以及类型定义:
/r/DevDoc__graphql - 查看当前应用所加载的 bean:
/r/DevDoc__beans - 查看当前启用的配置变量集合:
/r/DevDoc__configVars - 查看系统中定义的全局函数:
/r/DevDoc__globalFunctions - 查看系统中定义的全局对象:
/r/DevDoc__globalVars