Spring组件扫描在Java主方法中不起作用
这是一个简单的演示,可以与Eclipse一起使用,但不能从命令行使用 App.java:Spring组件扫描在Java主方法中不起作用,java,spring,Java,Spring,这是一个简单的演示,可以与Eclipse一起使用,但不能从命令行使用 App.java: ApplicationContext context = new ClassPathXmlApplicationContext("classpath:config/spring-application.xml"); context.getBean(MyService.class); Spring-application.xml: ... <context:annotation-config/>
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:config/spring-application.xml");
context.getBean(MyService.class);
Spring-application.xml:
...
<context:annotation-config/>
<context:component-scan base-package="com.itest.service"></context:component-scan>
...
它使用java命令运行,但是
com.itest.service
包中的bean尚未初始化。当您从命令行启动应用程序时,/com/itest/service
目录(相对于当前目录)中是否存在MyService.class
文件?还是装在罐子里?首先谢谢你,我已经解决了。打包有问题。使用eclipse导出项目时,我选择Runnable JAR file选项,而不是JAR文件。新的JAR包含所有依赖项。
java -cp ./* com.itest.app.App