You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven(Spring Boot)项目编译时执行Java主类及命令自动生成文件的方法?

实现Spring Boot源码变更时自动生成MD与HTML文档

步骤1:绑定源码编译与MD生成逻辑

把MD生成的Java主类执行逻辑绑定到项目构建的编译阶段,确保每次源码编译时自动运行生成MD文件。

Maven配置示例

在pom.xml中添加插件,指定你的MD生成主类:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>java</goal>
                    </goals>
                    <configuration>
                        <mainClass>com.yourpackage.MdGeneratorMain</mainClass> <!-- 替换为你的MD生成主类全路径 -->
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Gradle配置示例

在build.gradle中自定义任务并关联到编译流程:

task generateMd(type: JavaExec) {
    mainClass = 'com.yourpackage.MdGeneratorMain' // 替换为你的MD生成主类全路径
    classpath = sourceSets.main.runtimeClasspath
}

compileJava.finalizedBy(generateMd) // 编译完成后自动执行MD生成

步骤2:自动将MD转换为HTML

在MD生成完成后,自动调用Markdown转HTML工具(如pandoc),同样绑定到构建流程中。

Maven扩展配置

在exec插件中新增一个执行节点,调用转换命令:

<execution>
    <phase>compile</phase>
    <goals>
        <goal>exec</goal>
    </goals>
    <configuration>
        <executable>pandoc</executable>
        <arguments>
            <argument>-s</argument>
            <argument>${project.build.directory}/generated-docs/your-doc.md</argument> <!-- 替换为你的MD文件路径 -->
            <argument>-o</argument>
            <argument>${project.build.directory}/generated-docs/your-doc.html</argument> <!-- 替换为HTML输出路径 -->
        </arguments>
    </configuration>
</execution>

Gradle扩展配置

新增转HTML任务并设置依赖关系:

task convertMdToHtml(type: Exec) {
    dependsOn generateMd // 等待MD生成完成再执行转换
    commandLine 'pandoc', '-s', 'path/to/your-doc.md', '-o', 'path/to/your-doc.html' // 替换为实际路径
}

compileJava.finalizedBy(convertMdToHtml)

步骤3:开启自动构建监听

使用构建工具的自动监听功能,实现源码修改后自动触发全流程:

  • Maven:执行 mvn compile -Dwatch(需Maven 3.6.3及以上版本)
  • Gradle:执行 gradle build --continuous

注意事项

  • 确保MD生成主类能读取到最新编译后的类文件(若依赖字节码信息)
  • 若不想依赖外部工具pandoc,可集成Java实现的Markdown转HTML库(如CommonMark)到MD生成主类中
  • 调整文件路径配置,匹配你的项目实际结构

内容的提问来源于stack exchange,提问作者Forcuti Alessandro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 16:23:23