2017-04-05 49 views
0

我将尝试在Java中的Spring Java从蒙戈删除

这里使用的弹簧数据删除MongoDB中的文档是我Maven的依赖条件:

<parent> 
    <groupId>org.springframework.cloud</groupId> 
    <artifactId>spring-cloud-starter-parent</artifactId> 
    <version>Brixton.SR1</version> 
    <relativePath/> 
</parent> 
<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-mongodb</artifactId> 
</dependency> 

我使用MongoRepository来定义我的repositries Java的:

public interface FilesInfoRepository extends MongoRepository<MyCollectionClass, String> { ... } 

这里是短暂的例外:

**java.lang.NoClassDefFoundError: com/mongodb/RemoveRequest** 

和这里是完全不同:

ERROR [[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: com/mongodb/RemoveRequest] with root cause java.lang.NoClassDefFoundError: com/mongodb/RemoveRequest 
    at com.mongodb.DBCollectionImpl.remove(DBCollectionImpl.java:223) ~[mongo-java-driver-2.13.3.jar!/:na] 
    at com.mongodb.DBCollectionImpl.remove(DBCollectionImpl.java:203) ~[mongo-java-driver-2.13.3.jar!/:na] 
    at com.mongodb.DBCollection.remove(DBCollection.java:300) ~[mongo-java-driver-2.13.3.jar!/:na] 
    at com.mongodb.DBCollection.remove(DBCollection.java:327) ~[mongo-java-driver-2.13.3.jar!/:na] 
    at org.springframework.data.mongodb.core.MongoTemplate$13.doInCollection(MongoTemplate.java:1295) ~[spring-data-mongodb-1.8.4.RELEASE.jar!/:na] 
    at org.springframework.data.mongodb.core.MongoTemplate$13.doInCollection(MongoTemplate.java:1279) ~[spring-data-mongodb-1.8.4.RELEASE.jar!/:na] 
    at org.springframework.data.mongodb.core.MongoTemplate.execute(MongoTemplate.java:462) ~[spring-data-mongodb-1.8.4.RELEASE.jar!/:na] 
    at org.springframework.data.mongodb.core.MongoTemplate.doRemove(MongoTemplate.java:1279) ~[spring-data-mongodb-1.8.4.RELEASE.jar!/:na] 
    at org.springframework.data.mongodb.core.MongoTemplate.remove(MongoTemplate.java:1265) ~[spring-data-mongodb-1.8.4.RELEASE.jar!/:na] 
    at org.springframework.data.mongodb.repository.support.SimpleMongoRepository.delete(SimpleMongoRepository.java:155) ~[spring-data-mongodb-1.8.4.RELEASE.jar!/:na] 
    at org.springframework.data.mongodb.repository.support.SimpleMongoRepository.delete(SimpleMongoRepository.java:164) ~[spring-data-mongodb-1.8.4.RELEASE.jar!/:na] 
    at org.springframework.data.mongodb.repository.support.SimpleMongoRepository.delete(SimpleMongoRepository.java:176) ~[spring-data-mongodb-1.8.4.RELEASE.jar!/:na] 
    at sun.reflect.GeneratedMethodAccessor254.invoke(Unknown Source) ~[na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121] 
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121] 
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:483) ~[spring-data-commons-1.11.4.RELEASE.jar!/:na] 
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:468) ~[spring-data-commons-1.11.4.RELEASE.jar!/:na] 

我蒙戈是replicaSet是另一个数据中心,但我相信在连接上蒙戈的工作以及和其他行动的效果很好,只是删除不列入工作。

更新: 这里是我的全部的pom.xml:

<parent> 
<groupId>org.springframework.cloud</groupId> 
<artifactId>spring-cloud-starter-parent</artifactId> 
<version>Brixton.SR1</version> 
<relativePath/> 
</parent> 
<dependencies> 
<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>commons-io</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>2.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>1.3.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-data-mongodb</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-redis</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>com.google.code.gson</groupId> 
     <artifactId>gson</artifactId> 
     <version>2.2.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-test</artifactId> 
     <version>4.0.1.RELEASE</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.httpcomponents</groupId> 
     <artifactId>httpclient</artifactId> 
     <version>4.5</version> 
    </dependency> 
    <dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger-ui</artifactId> 
     <version>2.4.0</version> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>io.springfox</groupId> 
     <artifactId>springfox-swagger2</artifactId> 
     <version>2.4.0</version> 
     <scope>compile</scope> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 
+0

你能可能是POM的后休息吗?你可能有不止一个版本的mongo java驱动程序。 – Veeram

+0

@Veeram我更新了问题。 –

+0

我不明白为什么这不起作用。 'mongo-java-driver-2.13.3.jar'没有'com/mongodb/RemoveRequest'类。我对春季启动版本1.3.5类似的东西感到厌倦,它对我来说工作得很好。只需检查以确保在类路径中可用'mongo-java-driver-2.13.3.jar'。 – Veeram

回答

0

包括这种依赖性

<dependency> 
     <groupId>org.mongodb</groupId> 
     <artifactId>mongodb-driver</artifactId> 
     <version>3.4.2</version> 
    </dependency> 

它将工作