首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Shell -使用和执行

Spring Shell -使用和执行
EN

Stack Overflow用户
提问于 2015-06-05 22:52:45
回答 2查看 1.6K关注 0票数 0

我想在Spring引导应用程序中集成spring。我能够从官方的吉特-回购中执行这些示例。但是,当将示例代码迁移到与这段代码非常相似的自己的项目时,就不会显示或使用单独的shell。相反,会显示默认的Spring启动程序是可用的:

代码语言:javascript
复制
<SpringShell ASCII-Art>
1.1.0.RELEASE

Welcome to Spring Shell. For assistance press or type "hint" then hit ENTER
spring-shell>

编译不会产生错误,但是不使用单独的示例@组件标记类。所有注释都已正确设置。外面有一个标准的装载机。我不会在IDE中执行代码。

尽管文档 (第3.5章)告诉我们,据我所理解,组件是自动收集的。

因此,我的问题或多或少是如何更好地设置用法,而不是这样:

代码语言:javascript
复制
public class Main {
    public static void main(String[] args) throws Exception {
        Bootstrap.main(args);
    }
}

并击败默认的飞溅!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-07 09:26:39

文档中的评论有点误导(我会修改它)。要获取组件,它们需要在类路径上,并且您需要以某种方式扫描它们。

例如,请参见如何在Spring项目中扫描org.springframework.xd.shell包。你需要为你自己的包做一些类似的事情。

票数 1
EN

Stack Overflow用户

发布于 2015-06-08 20:25:56

解决办法:

埃伯塔德的回答让我在resources\META-INF\spring\..下创建了一个“spring plugin.xml”。虽然组件扫描已经在外部设置,但这似乎是必要的。下面的代码演示如何在实现CommandLineRunner的Spring应用程序中启动它。这应该是解决启动问题的桥梁。

代码语言:javascript
复制
@Component
public class CLIBean implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        Bootstrap bootstrap = new Bootstrap();
        bootstrap.run();
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30676977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档