mongodb 在服务器上(jboss 和 glassfish)不工作

mongodb on server (jboss and glassfish) doesn't work

我正在使用 Eclipse Kepler、Java、Jboss 7.1 和 Mongodb。 当我尝试将请求从 Servlet 发送到与 Mongodb 一起工作的 class 时,我得到一个异常:

java.lang.ClassNotFoundException: org.bson.conversions.Bson

我通过导入名为 mongo-java-driver-3.0.3.jar.

的 jar 文件将 org.bson 添加到项目中

代码非常基础和简单:

    import java.net.UnknownHostException;
    import org.bson.Document;
    import com.mongodb.MongoClient;
    import com.mongodb.client.MongoCollection;
    import com.mongodb.client.MongoDatabase;
    import static com.mongodb.client.model.Filters.*;

    public class UserConnection {
        private MongoClient client;
        private MongoDatabase md;
        private MongoCollection<Document>userCollection;

    public void initUserConnection(){
        client=new MongoClient();
        md=client.getDatabase("eatFreeLottery");
        userCollection=md.getCollection("users");
    }
    public void addClient(){
        Document d=new Document();
        d.append("name", "Sam");
        this.initUserConnection();
        userCollection.insertOne(d);
    }

Servlet:

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


    UserConnection uc=new UserConnection();
    uc.addClient();
}

主要class:

    public class Test {

public static void main(String[] args) {
    UserConnection uc=new UserConnection();
    uc.addClient();
}

}

servlet 和 class 都可以正常工作,只要它们不需要一起工作。

起初我以为问题出在我的 glassFish 服务器上,所以我切换到 Jboss,但那让我一无所获。

谢谢!

好的。 只需将 Jar 文件 (mongo-java-driver-3.0.3.jar) 复制粘贴到项目的 web-inf/lib 下即可。