Java的命令行解析和执行需要优化

4
我来自Symfony2的世界(PHP),现在正在寻找一个像Console组件一样的Java等价物。我已经尝试了很多东西:args4j、jcommander等... 但是我想要类似于http://symfony.com/doc/current/components/console.html#creating-a-basic-command的东西。我希望能够编写一个类来配置我的参数(jcommander和args4j做得很好),并且编写相关的execute()方法,该方法将被自动调用。在Java中是否存在这样的东西?谢谢。
2个回答

3
所以......在尝试不同的所谓命令行参数解析器之后,看到没有一个做得足够好(主要是没有颜色处理),我决定将Symfony2的控制台组件移植到Java中。您可以在此处查看结果:https://github.com/Nanocom/console
目前,它仍处于Beta状态。仍需要完成一些部分,但您可以已经声明您的命令并执行它们。
希望您喜欢!许可证是MIT。
欢迎任何贡献!

0
首先,您需要记住Symfony是用于PHP项目的框架,因此可以从命令行创建项目、类等,因为该框架是为此而设计的。但是对于Java来说,情况不同,Java本身并没有提供这种功能。在您的情况下,您需要找到一个允许创建类或项目的框架,我最推荐的是与Maven结合使用的AndroMDA插件,但仍然需要定义您的模板。

1
实际上,我认为在jcommander中提供这个功能非常简单,例如:我会创建一个带有单个方法execute()的接口,该方法将由您的命令类实现,而jcommander将调用正确的命令的execute()方法。 - Nanocom
1
Symfony的Console组件是完全解耦的:它可以单独使用。我只是想知道Java中是否有类似的组件。 - Nanocom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接