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 搜索部署服务器

 相关资料
  • 在我们的模块(比如说XYZ)中,我们包含了一个maven toolchains插件的依赖项,以使我们的Jenkins构建使用特定的JDK版本运行。但是,当我们在另一个项目中将XYZ模块作为依赖项包含时,一旦我们包含了这个工具链依赖项,它就会进一步引入许多其他依赖项(见下面的屏幕截图)。 其中一些依赖于工具链,如和会导致SLF4J:类路径包含多个SLF4J绑定等问题。当我们部署应用程序时。 我们为工

  • 主要内容:如下表所示,Maven 提供了如下 2 种类型的插件。,插件目标,插件绑定Maven 实际上是一个依赖插件执行的框架,它执行的每个任务实际上都由插件完成的。Maven 的核心发布包中并不包含任何 Maven 插件,它们以独立构件的形式存在, 只有在 Maven 需要使用某个插件时,才会去仓库中下载。 如下表所示,Maven 提供了如下 2 种类型的插件。 插件类型 描述 Build plugins 在项目构建过程中执行,在 pom.xml 中的 build 元素中配置 

  • 我有一个多模块maven项目,它似乎使用org.OWASP:dependency-check-maven插件在父模块和子模块/目标dirs上正确地生成了OWASP依赖关系报告,如下所示: 然而,参考插件文档,并执行sonar-maven-plugin,我只是无法找出正确的命令应该是什么,任何组合似乎都会导致构建失败: mvn声纳:声纳-dsonar.sources=?-dsonar.depende

  • 主要内容:1 如何添加Tomcat Maven插件,2 Tomcat Maven插件配置,3 使用Tomcat插件运行应用程序在本教程中,学习添加Tomcat插件并对pom.xml进行配置,使用Tomcat插件来部署Web应用程序,而无需在计算机中安装任何Tomcat。 当您想在由于某些原因无法安装实际Tomcat的开发人员的机器上测试Web应用程序时,这个插件功能非常有用。 1 如何添加Tomcat Maven插件 在pom.xml的build标签内添加插件的配置,如下: 2 Tomcat M

  • 我对Maven和LiquiBase是新手。在过去的几天里,我一直在玩没有Maven的liquibase。我尝试用一个新数据库和一个现有数据库生成changelog文件。现在我正在尝试使用插件实现Maven和Liquibase。 > 从命令提示符运行带有Maven的Liquibase比仅仅从命令提示符运行Liquibase有什么好处? 生成pom.xml文件并为当前项目准备好src文件夹之后。我在p

  • 所有POM都有作为它们的版本,也在dependencies标签下。它通过上传到Nexus repo。 我们最近开始做。因此,所有20个父POM现在都是和版本,因为它们都位于nexus中。所有标记现在都指向 开发人员不想指向发布版本。他们需要来自同行的edge开发版本,不管它是否不稳定。 SCM只希望指向版本,因为他必须每周执行一次,但由于指向快照版本而失败。 现在我知道了版本插件,但问题是,我应该