Fork me on GitHub

Console Application

Introduction

Ninja被设计为一个Web框架,但是如果您想利用其出色的依赖注入或配置来运行无Web服务器的控制台应用程序,Ninja v6.3.0 +新增了对ninja.standalone.NinjaConsole的支持,这是主要的切入点.

您的应用程序将像在Jetty这样的Web服务器容器中运行时正常启动,但是不会启动Web服务器并且不会初始化conf.Router . 如果作为标准Ninja Web应用程序运行,则将按通常方式启动所有其他Guice配置和生命周期方法.

Usage

您可以直接启动JVM,也可以自定义ninja.standalone.NinjaConsole . 由于它包含主要方法,因此以下将启动基于控制台的Ninja应用程序:

java -cp <classpath-here> ninja.standalone.NinjaConsole

或者,您可以编写自己的main方法并根据需要自定义NinjaConsole

import ninja.standalone.NinjaConsole;
import ninja.utils.NinjaMode;

public class MyMain {
 
    static public void main(String[] args) throws Exception {
        NinjaConsole ninja = new NinjaConsole()
            .ninjaMode(NinjaMode.prod)
            .start();

        // other code (e.g. access guice injector)
        // ninja.getInjector();

        ninja.shutdown();
    }
    
}

by  ICOPY.SITE