当前位置: 首页 > 知识库问答 >
问题:

SpringBoot scanBasePackages在不同的jar中找不到存储库

林泰平
2023-03-14
package my.package;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration;
import org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration;

@SpringBootApplication
public class MySpringBootApp{

    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApp.class, args);
    }

}
@Service
public class MyService {

private ServiceInADifferentJar  dep;

public MySerivce(ServiceInADifferentJar dep) {
this.dep = dep;
}

}
src/main/java
- some.package.repository
    MyRepository.java
- some.package.service
    ServiceInADifferentJar.java

当我启动应用程序时,我得到一个错误,即找不到ServiceInaDifferentJar

然后我把它添加到我的SpringBootApp中

@SpringBootApplication(scanBasePackages = {"some.package"})

并且找到ServiceInaDifferentJar,但没有找到MyRepository

存储库

package some.package.repository;

    @Repository
    public interface MyRepository extends MongoRepository<SomeEntity, String> {

    }

共有1个答案

法烨华
2023-03-14

您可能希望使用EnableMongoRepositories注释,以便找到您的Mongo存储库。

@EnableMongoRepositories(basePackages = "some.package.repository")

下面的问题尽管是关于JPA存储库的,但对存储库扫描的工作方式有更多的解释:

在Spring Boot中无法自动连接@Repository注释接口

 类似资料:
  • 我的java项目使用javax.mail.jar。因此,在netbeans中,我创建了一个新的文件夹库,将jar文件复制到那里,并将其添加到项目属性中。我将这个文件夹添加到git中,它在NetBeans上运行良好。但当我在另一台机器上使用ant构建项目并运行项目jar时 我不确定哪里出了问题。知道怎么让它运行吗? 解决方案:正如@Gimby所指出的,来自Netbeans和ant build的jar

  • 我有一个pom构建了一个jar,并使用rpm maven插件将其打包成rpm。jar既用作独立应用程序,也用作其他应用程序的依赖项,因此我需要将这两个构件部署到本地Nexus。我希望将jar部署到标准的maven releases/maven snapshots存储库中,但我希望将rpm部署到同一个Nexus中的另一个存储库中,该存储库仅用于我们的rpm。 我的专业知识相当基础,但我不知道如何做到

  • 我已经安装了JDK1.7,我需要制作一个JavaWebStart应用程序。我在网上搜索了一下,发现你需要jnlp。jar在您的项目构建路径中。 还有一个类似的问题(http://stackoverflow.com/questions/7593029/where-can-i-download-jnlp-jar)用户说它在jdk文件夹中,特别是在C:\Program Files\Java\jdk1中。

  • 我是Livy的新手,正如官方所说,我建造了Livy。命令如下: 然后我得到如下错误: [错误]插件组织。阿帕奇。专家插件:maven enforcer插件:1.4.1或其依赖项之一无法解决:无法找到组织。阿帕奇。专家插件:maven enforcer插件:jar:1.4.1 inhttp://repo.maven.apache.org/maven2已缓存在本地存储库中,在经过central的更新间

  • Maven错误: 未能对项目XXXXXX执行目标:无法解析项目XXXXXX:XXXXXX:0的依赖项。1-快照:找不到com。神谕ucm:idcserver:jar:11.1.1.8英寸[http://internal-proxy:8080/nexus-2.6.4/content/groups/XXXXXX]缓存在本地存储库中,在内部代理的更新间隔结束或强制更新之前,不会重新尝试解析。 我已经确认

  • 问题内容: Elasticsearch文档 建议 *他们的一段代码 *文件固定 对应于sql查询 但实际上对应于 我不想知道我有多少不同的值,但是什么是不同的值。有人知道如何实现吗? 问题答案: 在字段上使用术语汇总。并且您需要注意如何分析要获取不同值的字段,这意味着您需要确保在建立索引时没有对它进行标记,否则聚合中的每个条目都是一个不同的术语,属于字段内容。 如果您仍然希望令牌化并使用聚合,则可