Skip to content

heimuheimu/naivecli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NaiveCli: 为 Jar 项目提供基于文本交互的简单命令行工具。

Language grade: Java

使用要求

Maven 配置

    <dependency>
        <groupId>com.heimuheimu</groupId>
        <artifactId>naivecli</artifactId>
        <version>1.0</version>
    </dependency>

Spring 配置

    <!-- 命令行工具配置 -->
    <bean id="naiveCommandLineUtilities" class="com.heimuheimu.naivecli.NaiveCommandLineUtilities"
          init-method="init" destroy-method="close">
        <constructor-arg index="0" value="4183" /> <!-- Socket 监听端口 -->
        <constructor-arg index="1">
            <util:list>
                <bean class="com.heimuheimu.naivecli.demo.VersionCommand" /> <!-- 具体命令实现,请参考下面的示例代码实现-->
            </util:list>
        </constructor-arg>
        <constructor-arg index="2" value="5" /> <!-- 最大连接数量,建议为 5 个 -->
        <constructor-arg index="3" value="90" /> <!-- 连接最大闲置秒数,建议为 90 秒,超过该时间的未使用连接将会被自动关闭 -->
    </bean>

示例代码

显示当前版本号命令:

    public class VersionCommand implements NaiveCommand {
    
        @Override
        public String getName() {
            return "version"; // 命令名称
        }
    
        @Override
        public List<String> execute(String[] strings) {
            List<String> outputList = new ArrayList<>(); // 命令输出内容,每个元素一行
            outputList.add("demo v1.0-SNAPSHOT");
            return outputList;
        }
    }

使用说明

在项目启动后,可通过 "telnet 127.0.0.1 4183" 进行 Socket 连接,输入 "version" 命令后回车,可得到版本号信息输出 "demo v1.0-SNAPSHOT",输入 "quit" 命令退出 NaiveCli 命令行工具。

更多信息

About

为 Jar 项目提供基于文本交互的简单命令行工具。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages