Spring引导 - MongoDb在RepositoryInvokerFactory上获取ClassNotFoundException(Spring boot - MongoDb getting a ClassNotFoundException on RepositoryInvokerFactory)
我正在尝试使用MongoDB连接到mLab来设置Spring引导应用程序。 但是当我尝试运行这个测试(或任何其他测试)时,
@RunWith(SpringRunner.class) @SpringBootTest public class SyncrewApplicationTests { @Test public void contextLoads() { } }我得到这个错误:
Caused by: java.lang.ClassNotFoundException: org.springframework.data.rest.core.invoke.RepositoryInvokerFactory我的Spring引导应用程序:
@SpringBootApplication public class SyncrewApplication { public static void main(String[] args) { SpringApplication.run(SyncrewApplication.class, args); } }用户MongoDB存储库
@RepositoryRestResource(exported = false) public interface UserRepository extends MongoRepository<User, Integer> { User findUserByUsername(String username); User findUserByEmail(String email); }用户类
@Document(collection = "users") public class User implements Serializable, UserDetails { @Id private String id; private String username; public User(){} public User(String username){ this.username = username; } // getters and setters我认为我的问题是在我的pom.xml中,但我不知道在哪里..这是我的依赖关系
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-rest-webmvc</artifactId> <version>2.2.1.RELEASE</version> </dependency> <dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-core</artifactId> <version>1.4.5</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency&t; </dependencies>I am trying to set up a Spring boot application with MongoDB connection to mLab. But when I try to run this test (or any other test)
@RunWith(SpringRunner.class) @SpringBootTest public class SyncrewApplicationTests { @Test public void contextLoads() { } }I get this error:
Caused by: java.lang.ClassNotFoundException: org.springframework.data.rest.core.invoke.RepositoryInvokerFactoryMy Spring boot application:
@SpringBootApplication public class SyncrewApplication { public static void main(String[] args) { SpringApplication.run(SyncrewApplication.class, args); } }The user MongoDB repository
@RepositoryRestResource(exported = false) public interface UserRepository extends MongoRepository<User, Integer> { User findUserByUsername(String username); User findUserByEmail(String email); }User class
@Document(collection = "users") public class User implements Serializable, UserDetails { @Id private String id; private String username; public User(){} public User(String username){ this.username = username; } // getters and settersI think my problem is in my pom.xml but I don't know where.. This are my dependencies
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-rest-webmvc</artifactId> <version>2.2.1.RELEASE</version> </dependency> <dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-core</artifactId> <version>1.4.5</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>最满意答案
你的文件似乎很完美,只需在pom中添加版本,它应该可以工作。
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <scope>runtime</scope> <version>RELEASE</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-rest-webmvc</artifactId> <version>2.2.1.RELEASE</version> </dependency> <dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-core</artifactId> <version>1.4.5</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <version>RELEASE</version> </dependency> </dependencies>RELEASE = 1.5.1.RELEASE
Your files seems perfect just add versions in the pom and It should work.
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>RELEASE</version> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <scope>runtime</scope> <version>RELEASE</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-rest-webmvc</artifactId> <version>2.2.1.RELEASE</version> </dependency> <dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-core</artifactId> <version>1.4.5</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <version>RELEASE</version> </dependency> </dependencies>RELEASE =1.5.1.RELEASE
更多推荐
发布评论