i make a plugin depend external library MySQL-connector but work only on running mode jar file don't work

Tools.java

package Actions;

import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;

import com.intellij.openapi.project.Project;
import com.intellij.openapi.actionSystem.PlatformDataKeys;
import com.intellij.openapi.ui.Messages;

import java.sql.*;
import java.util.List;

/**
* Created by aymen on 10/07/2017.
*/
public class Tools extends AnAction {

@Override
public void actionPerformed(AnActionEvent event) {


Project project = event.getData(PlatformDataKeys.PROJECT);
String txt = Messages.showInputDialog(project, "What is your name2?", "Input your name", Messages.getQuestionIcon());
DBConnect dt = new DBConnect();
List<String> result= dt.getTablesnames();
String S = "";

for (int i = 0; i < result.size(); i++)
S = S + "\n" + result.get(i).toString();

// System.out.println(S);
Messages.showMessageDialog(project, S, "Information", Messages.getInformationIcon());

}

}

 

DBConnect.java

package Actions;
/**
* Created by aymen on 09/07/2017.
*/

import java.sql.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class DBConnect {

// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/test";

// Database credentials
static final String USER = "root";
static final String PASS = "";

public static void main(String[] args) {

}

public List<String> getTablesnames() {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
List<String> result= new ArrayList<>();
try {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
result.add("aa"+e.toString());
e.printStackTrace();
}
conn = DriverManager.getConnection(DB_URL, USER, PASS);

DatabaseMetaData md = conn.getMetaData();

rs = md.getTables(null, null, "%", null);
while (rs.next()) {
result.add(rs.getString("TABLE_NAME"));
}
} catch (SQLException e) {
result.add("bb"+e.toString());

e.printStackTrace();
}
return result;
}
}

 

plugin.xml

<idea-plugin>
<id>com.OPPa.generate.crud.android</id>
<name>Plugin genrate crud</name>
<version>1.0</version>
<vendor email="aymenlabidi19@gmail.com" url="http://soffapp.tn">soffdevelopment</vendor>

<description><![CDATA[
Enter short qqsss description for your plugin here.<br>
<em>most HTML tags may be used</em>
]]></description>

<change-notes><![CDATA[
Add change notes here.<br>
<em>most HTML tags may be used</em>
]]>
</change-notes>

<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/build_number_ranges.html for description -->
<idea-version since-build="145.0"/>

<!-- please see http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
on how to target different products -->
<!-- uncomment to enable plugin in all products
<depends>com.intellij.modules.lang</depends>
-->

<extensions defaultExtensionNs="com.intellij">
<!-- Add your extensions here -->
</extensions>

<actions>
<!-- Add your actions here -->
<action id="ToolsAction" class="Actions.Tools" text="Generate" description="generate crud from database ">
<add-to-group group-id="ToolsMenu" anchor="first"/>s
</action>
</actions>

</idea-plugin>

i got the error lang.Classnotfoundexception com.mysql.jdbc.driver Pluginclassloader

0

Please sign in to leave a comment.