2017-10-04 15 views
1

私のLiferayポータル7 ga4がwildfly 10で動作しています。私はLiferay MVCポートレットを作成し、展開しました。私は、MySQLデータベースに接続しようとしているが、このエラーを取得しています:にjava.lang.ClassNotFoundException:はcom.mysql.jdbc.DriverLiferay MVCポートレットjava.lang.ClassNotFoundException

は、私が(でのmysql-コネクタのjava-5.1.42-bin.jarをインポート右のビルドパス>プロジェクトをクリック> [設定ビ​​ルドパス>。それは、「参照されるライブラリ」の下に行ってきました。

enter image description here

をJARファイルを追加し、ここにview.jsp

try{ 
    String connectionURL = "jdbc:mysql://localhost/employees"; 

    Connection connection = null; 
    Statement statement = null; 
    ResultSet resultSet = null; 

    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    connection = DriverManager.getConnection(connectionURL, "root", ""); 
    statement = connection.createStatement(); 

    if(!connection.isClosed()){ 
     out.println("Successfully connected to MySQL server" + "<br/>"); 
    } 

} catch(Exception ex){  

    out.println("Unable to connect to database: "+ ex); 

} 

のコードですできる人してください助けて私?私はLiferayとJavaに全く新しいです。

ありがとうございます。

+1

を使用するように、この問題はGradleの設定とOSGi環境に関連しているようです。あなたはあなたのgradle設定を表示していただけますか? – Victor

答えて

1

与えられた情報から、あなたはおそらくあなたに依存を逃すことは

追加gradle.build:

// https://mvnrepository.com/artifact/mysql/mysql-connector-java 
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.42' 

右プロジェクト]をクリックし、Gradleの中で、Gradleのプロジェクトをリフレッシュします。

また、ポートレットがOSGiに基づく新しい構造で実行されている場合、環境には、このJarから使用されるパッケージを提供するバンドルが必要であることに注意してください。 Tomcatに付属のものは考慮されません。

このバージョンのMySQLはOSGiバンドルなので、これをdeployフォルダにドロップするか、単にモジュールフォルダに入れることができます。

あなたがしたい場合は、他のバージョンを使用することができます... https://www.e-systems.tech/web/guest/blog/-/blogs/liferay-with-mysql-5-7-driver-changes


この質問

  1. ビルド環境の設定
  2. ランタイム環境の設定
  3. に関連する3つの問題があります。
  4. 実行時設定

修正するには、前述のGradle設定で十分です。

2を修正するには、MySQLのバンドルがインストールされていることを確認してください。それをdeployフォルダまたはosgi/modulesフォルダにドロップすることができます。

3を修正するには、bnb.bndファイルでパッケージレベルの依存関係を宣言する必要があります。

3は、あなたがbndtoolsを使用しているとき、あなたは通常

Import-Package: *

であなたの依存関係を検出するためのツールを頼むので、本当に奇妙であるが、この場合には、依存関係は名前でロードされるクラスによって作成され、中あなたを強制的に文字列は、明示的に宣言依存重複していないようです

Import-Package: com.mysql.jdbc, *

+0

こんにちはビクター、私はbuild.gradleファイルとリフレッシュgradleプロジェクトに依存関係が含まれています。私はプロジェクトと外部の依存関係の中にmysql_connector jarファイルを見ることができますが、エラーはまだ "java.lang.ClassNotFoundException:com.mysql.jdbc.Driver"と同じです。 – Den

+0

赤い感嘆符が消えましたか? – Victor

+0

ランタイムの問題を修正する必要があるので、私はあなたのモジュールを含むドライバをdeployフォルダにドロップします。 – Victor

関連する問題