Java 在运行时加载类时无法创建bean

Java 在运行时加载类时无法创建bean,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,我有两个不同的项目。第一个用于类加载,第二个有自己的类,用于执行一些处理工作 在第一个项目中,我加载该类,而不是创建新实例来调用该方法,我只使用应用程序上下文 @Autowired ApplicationContext context; ClassLoader loader = null; try { loader = URLClassLoader.newInstance(new URL[]{new File(plugins + "/" + pluginName + "/"

我有两个不同的项目。第一个用于类加载,第二个有自己的类,用于执行一些处理工作

在第一个项目中,我加载该类,而不是创建新实例来调用该方法,我只使用应用程序上下文

@Autowired
ApplicationContext context;

ClassLoader loader = null;

try {
    loader = URLClassLoader.newInstance(new URL[]{new   

File(plugins + "/" + pluginName + "/" + pluginName +   

".jar").toURI().toURL()}, getClass().getClassLoader());

} catch (MalformedURLException e) {
    e.printStackTrace();
}

Class<?> clazz = null;

try {

    clazz = Class.forName("com.sample.Specific", true, loader);

} catch (ClassNotFoundException e) {

    e.printStackTrace();

}

Method method = null;
try {
    method = clazz.getMethod("run",new Class[]{});
} catch (NoSuchMethodException e) {
    e.printStackTrace();
}

try {
    method.invoke(context.getBean(clazz),new Object[]{});
} catch (IllegalAccessException e) {
    e.printStackTrace();
} catch (InvocationTargetException e) {
    e.printStackTrace();
}
正如我提到的,这是两个不同的项目。所以当我用Main类运行第一个项目时,它说--

考虑在应用程序中定义“com.sample.Specific”类型的bean 配置


如何创建bean?

这是因为您无法在组件扫描配置中找到此类,您需要声明bean所在的包。

事实上,我是在运行时加载此类的,我只在那里立即声明包。你能告诉我一些点或代码来声明我的bean所在的包吗。因此,我不知道如何在运行时创建bean,谢谢您的合作。这里实际的问题是:你能告诉我在上下文参数标记之间的web.xml中声明了什么吗?如果没有这些标记,那么检查appname-servlet.xml如果有如果答案是否定的,我想你有像appConfig这样的类,用@Configuration@ComponentScan(“Here.you.package”)注释,如果答案为“否”,请发布您的应用程序结构文件夹以及配置和类,以帮助您感谢您的回复。实际上我有一个spring boot项目。我不维护这些文件。
package com.sample

@Service
public class Specific {

@Autowired
private FD fd;


public void run(){

    fd.init();

}

}