Java 与Runnable JAR共享JDBC连接

Java 与Runnable JAR共享JDBC连接,java,jdbc,jar,Java,Jdbc,Jar,我有一个应用程序将依赖第三方JAR文件来执行一些代码,这个JAR是由我们的客户开发的,我们需要在我们的应用程序中包含对JAR的调用,他们希望我们可以发送当前的SQL连接作为JAR的参数 由于之前没有处理此类场景的经验,我们都认为这应该非常简单,但我们忽略了一个事实,即主类的main方法只接收字符串数组作为参数 我已经在谷歌上搜索过了,但找不到类似的需求,是不是完全不可能做到 我希望实现的调用类似于这样: final Process command = re.exec("java -jar ./M

我有一个应用程序将依赖第三方JAR文件来执行一些代码,这个JAR是由我们的客户开发的,我们需要在我们的应用程序中包含对JAR的调用,他们希望我们可以发送当前的SQL连接作为JAR的参数

由于之前没有处理此类场景的经验,我们都认为这应该非常简单,但我们忽略了一个事实,即主类的main方法只接收字符串数组作为参数

我已经在谷歌上搜索过了,但找不到类似的需求,是不是完全不可能做到

我希望实现的调用类似于这样:

final Process command = re.exec("java -jar ./MyClientsJar.jar " + arg1 + " " + arg2 + " " + SQLConnection);
      command.waitFor();
当然,当我们试图在客户机的源代码中定义这样的主方法时:

  private void MyClientsJARMainClass(String args[], Connection con){}
Eclipse的JAR导出工具无法找到主类


除了发送用户、url和传递参数之外,还有什么其他想法吗?

当您调用
re.exec
时,您正在创建一个新流程。由于这是一个新进程,您无法共享在另一个进程中定义的连接

尝试将jar用作库。导入该类并使其成为接受连接作为参数的公共方法。例如:

import MyClientsJARMainClass
...
String[] args = { arg1, arg2 };
MyClientsJARMainClass.mainWithConnection(args, connection);
您的客户端在其类中添加了如下方法:

public static void mainWithConnection(String[] args, Connection connection)

看起来很有希望,今天将朝这个方向努力,也感谢您提供有关流程/连接问题的提示