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
请先登录再写评论。