Spring Shell with Spring Boot Driven
- Add spring-boot-starter-shell dependency in application's pom.xml:
    <dependency>
       <groupId>org.mvnsearch.spring.boot</groupId>
       <artifactId>spring-boot-starter-shell</artifactId>
       <version>1.0.0-SNAPSHOT</version>
    </dependency>- Add Spring Boot Maven Plugin in your pom.xml:
   <plugin>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-maven-plugin</artifactId>
       <version>1.4.0.RELEASE</version>
       <executions>
           <execution>
               <goals>
                   <goal>repackage</goal>
               </goals>
           </execution>
       </executions>
       <configuration>
           <!-- do not enable it, this will creats a non standard jar and cause autoconfig to fail -->
           <executable>false</executable>
       </configuration>
   </plugin>- Add following code in your Spring Boot Application main method:
    @SpringBootApplication
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringShellApplication.run(DemoApplication.class, args);
        }
    }
- Of course, create your Spring Shell commands.
@Component
public class HelloCommands implements CommandMarker {
    @CliCommand(value = "hello", help = "CMS ")
    public String hello() {
        return "hello";
    }
}
- Build your application and run it.
   $ mvn -DskipTests clean package
   $ java -jar target/xxxx.jar
- Possible Configuration in your application.properties:
spring.main.banner-mode=off- logback-spring.xml configuration to mute some log:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--stdout appender-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <root level="ERROR">
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>- Spring Shell Document: http://docs.spring.io/spring-shell/docs/current/reference/htmlsingle/
- ASCII Generator: http://www.network-science.de/ascii/