nutzboot-maven-plugin - NutzBoot 的 Maven 插件


Apache
跨平台
Java

软件简介

nutzboot-maven-plugin

NutzBoot 的 Maven 插件

用法简介

在build-plugins添加本plugin

    <build>
        <plugins>
            <plugin>
                 <groupId>org.nutz.boot</groupId>
                 <artifactId>nutzboot-maven-plugin</artifactId>
                 <version>${nutzboot.version}</version>
            </plugin>
         </plugins>
    </build>

打包jar文件

mvn clean package nutzboot:shade

打包完成后的jar文件可以直接运行

java -jar XXX.jar

若需要设置jvm内存大小等参数:

java -Xmx512m -Xms512m -jar XXX.jar

直接运行

mvn compile nutzboot:run

输出配置文档

mvn dependency:copy-dependencies nutzboot:propdoc

会打印在控制台,并写入 target/configure.md 文件

打包成war

将nutzboot:shade生成的jar进一步加工成war文件,供传统模式下的部署

mvn clean package nutzboot:shade nutzboot:war

提醒, war模式下, 有部分限制:

  • jetty/tomcat/undertow的配置项自然会失效,它们对应的starter也会自动移除

  • server.port 若使用RPC相关的功能,应该修改成web容器的端口号

mainClass探测规则

默认情况下,按以下规则查找mainClass

  • 带有public static main 方法

  • 在main方法内,引用或使用到NbApp类

例如:

可探测到

public class MainLauncher {
    public static void main(String[] args) {
        new NbApp().run();
        // NbApp app = new NbApp(); 这样也可以
        // ....
        // app.run();
    }
}

不可探测到

public class MainLauncher {
    public static void main(String[] args) {
        abc();
    }
    public static void abc() {
        new NbApp().run();
    }
}

待开发的功能

  • init 项目初始化命令,根据一个远程/本地模板生成项目

  • repo-upload 将jar上传到部署服务器

  • repo-download 从部署服务器下载jar

  • repo-search 搜索部署服务器