Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
体面的Java命令行解析和执行_Java_Symfony_Console_Console Application_Command Line Arguments - Fatal编程技术网

体面的Java命令行解析和执行

体面的Java命令行解析和执行,java,symfony,console,console-application,command-line-arguments,Java,Symfony,Console,Console Application,Command Line Arguments,我来自Symfony2的世界(PHP),我试图找到一个与其组件相当的组件 我尝试了很多东西:args4j、jcommander等等。。。但我想要这样的东西:。我希望能够编写一个类,在其中配置参数(jcommander和args4j做得很好),并编写相关的execute()方法,该方法将自动调用。Java中有类似的东西吗 谢谢。首先,您需要记住symphony是一个php项目的框架,因此可以从命令行创建项目、类等,因为该框架是为此而设计的,但与java不同,java本身并没有提供这种功能。在您的情

我来自Symfony2的世界(PHP),我试图找到一个与其组件相当的组件

我尝试了很多东西:args4j、jcommander等等。。。但我想要这样的东西:。我希望能够编写一个类,在其中配置参数(jcommander和args4j做得很好),并编写相关的
execute()
方法,该方法将自动调用。Java中有类似的东西吗


谢谢。

首先,您需要记住symphony是一个php项目的框架,因此可以从命令行创建项目、类等,因为该框架是为此而设计的,但与java不同,java本身并没有提供这种功能。在您的情况下,您需要找到一个允许创建类或项目的框架,我可以向您推荐的最接近的框架是andromda盒带与maven的结合,但您仍然需要定义模板,所以。。。在尝试了不同的所谓命令行参数解析器之后,看到没有人做得足够好(主要是没有颜色处理),我决定用Java移植Symfony2的控制台组件。您可以在此处看到结果:

目前,它仍处于测试状态。仍然需要完成某些部分,但您已经可以声明并执行命令了

希望你会喜欢!许可证是麻省理工学院的


欢迎任何贡献

实际上,我认为在jcommander中提供此功能非常简单,例如:我将使用单个方法execute()创建一个接口,该方法将由您的命令类实现,jcommander将自己称为正确命令的execute()Symfony的控制台组件完全解耦:它可以单独使用。我只是想知道Java中是否没有类似的组件。