2014-04-07 2 views
1

이것은 극도로 실망 스럽습니다. 특히 포럼 전체에서 진행되어 왔기 때문에 모든 지시 사항을 따라갔습니다.Eclipse IDE가 mysql 드라이버를 인식하지 못합니다.

로컬 mysql 데이터베이스에 대한 연결을 만들려고합니다. 먼저 플랫폼에 독립적 인 TAR을 사용하여 http://dev.mysql.com/downloads/connector/j에서 mysql 드라이버를 다운로드했습니다 (저는 우분투에 있습니다). 그런 다음 결과 JAR을 내 프로젝트 호출/lib 용으로 만든 새 폴더에 놓은 다음 마우스 오른쪽 버튼으로 클릭하고 "빌드 경로에 추가"를 선택했습니다. 이제 참조 된 라이브러리로 나타납니다.

try { 
    Class.forName("com.mysql.jdbc.Driver"); 
    String db_url = "jdbc:mysql://localhost/project"; 
    connect = DriverManager.getConnection(db_url, "user", "password"); 
    statement = connect.createStatement(); 
    resultSet = statement.executeQuery("select * from database.table"); 
    while (resultSet.next()) { 
     int id = resultSet.getInt("ID"); 
     String name = resultSet.getString("Name"); 
     System.out.println("(ID: " + id + ") (Name: " + name + ")"); 
    } 
} catch (ClassNotFoundException | SQLException e) { 
    e.printStackTrace(); 
} 

을하지만 어떤 이유로, 나는 아직도 "java.lang.ClassNotFoundException가 얻을 : 코드에 대한

, 나는 전형적인 일을하고 당신이 할 것 com.mysql.jdbc.Driver를 찾을 수 없습니다 "

나는 그것이 내게 완전히 바보 같은 것이라고 확신하지만, 나는 무엇을 놓치고 있는지에 관해서 어떤 조언을하고 있는가? ...

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver cannot be found by com.personal.recipes_1.0.0.qualifier 
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) 
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) 
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:190) 
at com.personal.recipes.test.TestUtils.execute(TestUtils.java:22) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) 
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243) 
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224) 
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132) 
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167) 
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499) 
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) 
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213) 
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:850) 
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:743) 
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:727) 
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:662) 
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392) 
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) 
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113) 
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997) 
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138) 
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162) 
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636) 
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591) 
at org.eclipse.equinox.launcher.Main.run(Main.java:1450) 
at org.eclipse.equinox.launcher.Main.main(Main.java:1426) 
+0

응용 프로그램을 실행 중이거나 서버에서 실행 중입니까? 서버로부터 왔을 경우, JAR 파일을'WebContent/WEB-INF/lib'에 추가해야 할 수도 있습니다. – Jared

+0

은 웹 응용 프로그램 또는 자바 응용 프로그램 – Gundamaiah

+0

입니다. 열린 형식 (ctrl + shift + T)에'Driver'를 쓸 때 무엇을 얻게됩니까 ?? – Rembo

답변

2

그래서 문제를 충분히 설명하지 못했을 것입니다. 특히 이클립스 RCP 애플리케이션에서 드라이버를 확인하는 것과 관련된 질문. 친구에게 이야기 한 후에 그는 mysql jar 파일을 .MF 파일에 직접 추가해야한다고 상기시켰다. 일단 내가 내 질문에 대답하는 다양한 포럼에서 1 톤의 게시물을 찾았다는 것을 알았습니다.

나는 다음 줄을 추가하고 나는 문제없이 데이터베이스에 연결 할 수 있어요 :

"번들 - 클래스 경로 : lib 디렉토리/mysql을 커넥터 - 자바-5.1.30-bin.jar를을. "

끝 부분의. (.)도 매우 중요했으며 몇 분 동안 나를 방해했습니다.

+0

안녕하세요 ... 나는 같은 문제에 직면하고 있지만 mariaDb와 마주하고 있습니다. 항아리를 다운로드하여 Lib 폴더에 넣었습니다. "Bundle-ClassPath : /Lib/mariadb-java-client-1.2.3.jar"줄을 추가했습니다. manifest.mf 파일의 끝에. 이제 오류가 발생했습니다 - java.lang.ClassNotFoundException : com.app.editor.Application을 com.app.Editor_1.0.0.qualifier가 찾을 수 없습니다. 왜 이런 일이 발생하는지 알고 있습니까? –

0

난 그냥하는 신선한 프로젝트에 코드의 빠른 복사/붙여 넣기를 만들어 lib에 드라이버를 설치 매력처럼 작동 : 여기

는 스택 추적입니다. 그럼 코드 스 니펫 전에 뭔가를 했나요? Fresh Project

+0

내 스크린 샷은 내 모습과 거의 비슷합니다. 유일한 차이점은 코드 블록이 핸들러 클래스의 execute 메서드에 있다는 것입니다. – BiggPlanet

관련 문제