gpt4 book ai didi

java - Eclipse 富客户端应用程序连接到数据库

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:34 24 4
gpt4 key购买 nike

我正在启动一个新的 Eclipse RCP 应用程序,这是我第一次,我遇到了一个问题,我想显示我的可用数据库列表(顺便说一句,我正在使用 nosql 数据库(MongoDB)),但我的代码似乎不起作用,任何人都可以帮忙,任何人都可以给我指一个好的教程吗?感谢您的宝贵时间和帮助。

package test2.parts;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.inject.Inject;

import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.di.Persist;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCursor;
import org.eclipse.swt.widgets.Label;

public class SamplePart {


org.eclipse.swt.widgets.List list ;
private TableViewer tableViewer;

@Inject
private MPart part;

@PostConstruct
public void createComposite(Composite parent) {
parent.setLayout(new GridLayout(1, false));

Text txtInput = new Text(parent, SWT.BORDER);
txtInput.setMessage("Enter text to mark part as dirty");
txtInput.addModifyListener(e -> part.setDirty(true));
txtInput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

list = new org.eclipse.swt.widgets.List(parent, SWT.BORDER);



tableViewer = new TableViewer(parent);
tableViewer.setContentProvider(ArrayContentProvider.getInstance());
tableViewer.setInput(createInitialDataModel());
tableViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));


}

@Focus
public void setFocus() {
tableViewer.getTable().setFocus();
}

@Persist
public void save() {
part.setDirty(false);
}


private List<String> createInitialDataModel() {

MongoClient mongoClient = new MongoClient("localhost", 27017);
ArrayList<String> dbs = new ArrayList<String>();
MongoCursor<String> dbsCursor = mongoClient.listDatabaseNames().iterator();
while (dbsCursor.hasNext()) {
list.add(dbsCursor.next());
}
return (List<String>) list;

}
}

enter image description here

enter image description here

最佳答案

堆栈跟踪显示插件找不到 MongoClient 类。

Eclipse 插件只能访问其他插件或插件中包含的 jar 中的代码。他们不能使用普通 Java 类路径上的 jar。

因此,您需要将包含 MongoClient 类的 jar 添加到您的插件中,并将其添加到 MANIFEST.MF 中的 Bundle-Classpath 中。您可以在 MANIFEST.MF 编辑器的“运行时”选项卡的“类路径”部分中执行此操作。

您还需要将 jar 包含在 build.properties 文件中。

关于java - Eclipse 富客户端应用程序连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54418348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com