关于.jar的文件在cmd中无法连接数据库的问题

我使用一个.jar的文件,想在cmd中以“java -jar
*.jar”的格式运行,方便system.println()一些信息,该jar包中包含数据库连接内容,在我关闭comodo防火墙和windows防火墙的情况下,该文件无法运行,在我开启comodo防火墙时,会提示是否连接internet(实际上是127.0.0.1的本地连接),点击同意可正常连接。坑爹的是,我只开启windows防火墙而不开启comodo,系统无任何提示,不能运行此程序,真心不知道是被哪个防火墙拦截的。

另外,如果点击同意之后,后续运行相同程序没有问题会可以继续运行,但是更新之后便必须开启comodo重新同意才可以在cmd中运行该jar包,因此调查一下不开启comodo而jar包被拦截到底是什么原因。

附录:等一段时间后,cmd弹出异常提示如下:


  1 Success loading Mysql Driver!
2 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link f
3 lure
4
5 The last packet sent successfully to the server was 0 milliseconds ago. The dr
6 er has not received any packets from the server.
7 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Metho
8
9 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstru
10 orAccessorImpl.java:39)
11 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Delegatin
12 onstructorAccessorImpl.java:27)
13 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
14 at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
15 at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java
16 121)
17 at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:357)
18 at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2482)
19 at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java
20 519)
21 at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
22 at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
23 at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
24 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Metho
25
26 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstru
27 orAccessorImpl.java:39)
28 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Delegatin
29 onstructorAccessorImpl.java:27)
30 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
31 at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
32 at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
33 at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.ja
34 :346)
35 at java.sql.DriverManager.getConnection(DriverManager.java:582)
36 at java.sql.DriverManager.getConnection(DriverManager.java:185)
37 at ReadAndWriteData_use.getConnection(ReadAndWriteData_use.java:71)
38 at ReadAndWriteData_use.ConnectMysql(ReadAndWriteData_use.java:46)
39 at ReadAndWriteData_use.main(ReadAndWriteData_use.java:212)
40 Caused by: java.net.ConnectException: Connection refused: connect
41 at java.net.PlainSocketImpl.socketConnect(Native Method)
42 at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
43 at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
44 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
45 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
46 at java.net.Socket.connect(Socket.java:529)
47 at java.net.Socket.connect(Socket.java:478)
48 at java.net.Socket.<init>(Socket.java:375)
49 at java.net.Socket.<init>(Socket.java:218)
50 at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.
51 va:259)
52 at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:307)
53 ... 17 more
54 Success connect Mysql server!
55 get data error!java.lang.NullPointerException
56 at ReadAndWriteData_use.ConnectMysql(ReadAndWriteData_use.java:49)
57 at ReadAndWriteData_use.main(ReadAndWriteData_use.java:212)
58 开始........
59 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link f
60 lure
61
62 The last packet sent successfully to the server was 0 milliseconds ago. The dr
63 er has not received any packets from the server.
64 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Metho
65
66 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstru
67 orAccessorImpl.java:39)
68 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Delegatin
69 onstructorAccessorImpl.java:27)
70 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
71 at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
72 at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java
73 121)
74 at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:357)
75 at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2482)
76 at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java
77 519)
78 at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
79 at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
80 at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
81 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Metho
82
83 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstru
84 orAccessorImpl.java:39)
85 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Delegatin
86 onstructorAccessorImpl.java:27)
87 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
88 at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
89 at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
90 at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.ja
91 :346)
92 at java.sql.DriverManager.getConnection(DriverManager.java:582)
93 at java.sql.DriverManager.getConnection(DriverManager.java:185)
94 at ReadAndWriteData_use.getConnection(ReadAndWriteData_use.java:71)
95 at ReadAndWriteData_use.readFile(ReadAndWriteData_use.java:105)
96 at ReadAndWriteData_use.main(ReadAndWriteData_use.java:218)
97 Caused by: java.net.ConnectException: Connection refused: connect
98 at java.net.PlainSocketImpl.socketConnect(Native Method)
99 at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
100 at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
101 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
102 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
103 at java.net.Socket.connect(Socket.java:529)
104 at java.net.Socket.connect(Socket.java:478)
105 at java.net.Socket.<init>(Socket.java:375)
106 at java.net.Socket.<init>(Socket.java:218)
107 at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.
108 va:259)
109 at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:307)
110 ... 17 more
111 step1:getConnection() -> success!
112 Exception in thread "main" java.lang.NullPointerException
113 at ReadAndWriteData_use.readFile(ReadAndWriteData_use.java:107)
114 at ReadAndWriteData_use.main(ReadAndWriteData_use.java:218)
115 Success loading Mysql Driver!

时间: 2024-07-31 14:25:50

关于.jar的文件在cmd中无法连接数据库的问题的相关文章

cmd中编译和运行java程序

[cmd下编译] 方法一: 1.首先在工程文件夹下面新建一个sourcelist.txt,把所有要编译的java类的绝对路径写进去,每写一个换一行 javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin javac -sourcepath src @sourcelist.txt -d class2(没有三方包的情况,我在项目根目录下新建了一个class2文件夹存放编译成功后的.class文件) -d选项就是desti

在cmd中使用指令来执行jar包

概述: 今天有一个需求,要在cmd中执行.jar文件 实践: 1.新建你的Hello world 2.导出到jar包 3.打开你的成功导出的jar包 4.打开文件夹   5.编辑以下内容 这里有三个注意点. 1.class:后面一定要有空格 2.主文件的路径一定要写全 3.上面的Main中一定要有一个换行 6.运行 哈哈,已经OK了- 7.扩展 如果这里你感觉还不够完美,需要传入一些额外的参数进行额外操作.那么你就可以进行以下的操作来完善. 运行的步骤和效果如下图: 是的,这里还有一个要注意的地

Javascript中使用WScript.Shell对象执行.bat文件和cmd命令

Javascript中使用WScript.Shell对象执行.bat文件和cmd命令 http://www.cnblogs.com/ZHF/p/3328439.html WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript.shell是服务器系统会用到的一种组件.shell 就是“壳”的意思,这个对象可以执行操作系统外壳常用的操作,比如运行程序.读写注

nodejs:cmd中输入node -v提示不是内部文件等

安装好nodejs后,很想熟悉一下是否安装好了,可通过cmd实验一番,打开cmd输入"node -v",按下enter,出现如图一提示 图1 解决方案如下: 1.打开"系统属性"面板如图2(打开系统面板按如下步骤:1.桌面鼠标右击"计算机",2.弹出提示框,点击"属性",3.打开"系统"面板,点击"高级系统设置"如图3,即可进入系统属性面板) 图2 图3 2.点击"环境变量&q

DelphiXE7如何调用Java Class,JAR等文件?

源文地址:http://jingyan.baidu.com/article/e4d08ffdb61b040fd3f60d44.html 第一步,我们先在互联网上把java2pas这个工具下载下来. 下载地址:http://download.csdn.net/detail/zqycn/7791619 下载地址:http://download.csdn.net/detail/zhujianqiangqq/8985597 第二步,打开[windows菜单]-->在运行框中输入[cmd]敲回车键. 如:

Lucene的安装与CMD中的使用

Lucene是一个开源的全文检索引擎工具包. 现在来介绍如何安装和在CMD下使用Lucene检索. 第一步:安装JDK 1.到官网下载安装JDK,一般是安装路径是C:\Program Files\Java\jdk1.8.0_91 2.安装好后配置环境变量."我的电脑"-"属性"-"高级系统设置"-"环境变量" 在系统变量中新建JAVA_HOME的变量,值为: C:\Program Files\Java\jdk1.8.0_91

教程-DelphiXE7如何调用Java Class,JAR等文件?

源文地址:http://jingyan.baidu.com/article/e4d08ffdb61b040fd3f60d44.html 第一步,我们先在互联网上把java2pas这个工具下载下来. 下载地址:http://download.csdn.net/detail/zqycn/7791619 下载地址:http://download.csdn.net/detail/zhujianqiangqq/8985597 第二步,打开[windows菜单]-->在运行框中输入[cmd]敲回车键. 如:

记一次解决cmd中执行java提示&quot;找不到或无法加载主类&quot;的问题

今天遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示"找不到或无法加载主类".现将该问题的原因以及解决办法记录一下. 先理解一下系统变量path和classpath的作用. path:可执行命令的搜索路径,在该路径下搜索可以运行的程序或批处理文件. 命令行中输入一个命令,则会在path配置的目录中查找该命令,如果存在则调用该程序运行,如果不存在则提示" 'XXX' 不是内部或外部命令,也不是可运行的程序或批处理文件."

cmd中可以运行java,但不能运行javac命令

在cmd中可以运行java,但运行javac命令时提示:'javac' 不是内部或外部命令,也不是可运行的程序或批处理文件. 原因:安装java时把jdk的路径和jre的路径选择成一样,就造成覆盖了.这时候你在lib下也找不到tools.jar和dt.jar. 解决: 1)卸载java,直接用windows自带的卸载这两个有关java的程序: 2)重新安装java,安装时有两次选择路径的机会,第一次是让你选择jdk安装路径,选择为C:\Program Files\Java\jdk1.8.0_14