起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: wgs7909

[结贴] 200元悬赏贴,tomcat监听相关问题

  [复制链接]

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35955
发表于 2017-2-16 17:43:09 | 显示全部楼层
看环境变量是否是一样的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
 楼主| 发表于 2017-2-17 14:32:24 | 显示全部楼层
jishuang 发表于 2017-2-16 17:43
看环境变量是否是一样的

同样的配置,同样的版本,在我本地电脑上Eclipse里启动tomcat,定时程序正常运行,正常访问数据库。通过windows服务启动tomcat,也可以正常访问数据库。
可是服务器上就不正常了,服务器上Eclipse启动tomcat定时程序正常运行,正常访问数据库。可是通过windows服务启动tomcat,访问数据库的时候就提示找不到类方法。
我把jar包copy到了,所有web工程运行时,需要寻找的路径中。问题依然存在。

企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35955
发表于 2017-2-17 15:02:25 | 显示全部楼层
在服务的环境变量中加上jar的配置看看
http://docs.wex5.com/bex5-deploy-question-list-10028/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
 楼主| 发表于 2017-2-17 19:22:42 | 显示全部楼层
本帖最后由 wgs7909 于 2017-2-17 19:25 编辑

找到原因了,问题已经解决了。
因为服务器上自己安装了java,把tomcat注册成一个window服务后,启动tomcat,使用的javaHome是系统里注册的javaHome。因此查询jar包是从C:\Program Files (x86)\Java\jre1.8.0_111\lib\ext 路径里查找 ,所以把mysqlConnter.jar复制到这个目录里就好用了。
企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667
回复 支持 反对

使用道具 举报

377

主题

2594

帖子

5117

积分

论坛元老

Rank: 8Rank: 8

积分
5117
QQ
发表于 2017-2-18 08:22:07 | 显示全部楼层
wgs7909 发表于 2017-2-17 19:22
找到原因了,问题已经解决了。
因为服务器上自己安装了java,把tomcat注册成一个window服务后,启动tomcat ...

发个分享吧,总结一下

远远地望去,好像有很多坑
长春鱼熊企业管理咨询有限公司



X5开发出入库培训视频
(出处: 起步论坛)
回复 支持 反对

使用道具 举报

851

主题

2560

帖子

5714

积分

论坛元老

Rank: 8Rank: 8

积分
5714
QQ
 楼主| 发表于 2017-2-18 11:12:04 | 显示全部楼层
本帖最后由 wgs7909 于 2017-2-18 13:47 编辑
Masion 发表于 2017-2-18 08:22
发个分享吧,总结一下

远远地望去,好像有很多坑

从头到尾仔细看看大家的回复,再结合我的提问。仔细想想就明白了。先看一下我的情况:从tomcat启动起来后,每隔5分钟,需要查一下数据库。
在正常的baasService里,我们是通过 Connection conn = context.getConnection("demo");  这个方法拿到数据库连接的。然后可以操作数据库。
可是为了实现每5分钟访问一次数据库这个功能,我写一个tomcat 监听类,在监听类里放了一个定时运行类,在这个定时运行类里我调用数据库操作。这里的数据库访问就需要用到原始的数据库访问方法。
  • String url = "jdbc:mysql://127.0.0.1:3306/tenso";
  •                 String username = "root";
  •                 String password = "x5";
  •                 Connection conn = null;
  •                 Table table = null;
  •                 try {
  •                         conn = DriverManager.getConnection(url, username, password);
  •                         String sql = "SELECT * from sendinfo where ISNULL(weight) and ISNULL(bulk)";
  •                         table = DataUtils.queryData(conn, sql, null, null, null, null);
DriverManager.getConnection   这个方法需要用到mysql-connector-java-5.1.24-bin JAR包,关键问题就是程序运行的时候找不到这个JAR包,主要是JAR包放的位置不对。
1、正常情况下,web工程所有用到的类库都应该放在\runtime\BaasServer\WEB-INF\lib目录下面,然后在classPath文件里加入一条描述就可以了。可是这样不好用。报错,找不到类方法2、换个思路再想想,java在运行的时候查询类库路径应该是/java/lib目录,加上之后还是不好用
3、根据管理员的提示,把jar包复制到了D:\X5\BeX5_V3.5\java\jre1.8\lib\ext。好用了。但是问题又来了,现在的好用,只是在studio环境下启动tomcat好用,可是通过windows服务再启动tomcat的时候,还是会报错。这次就实在想不明白了。
4、但问题还是需要解决,经过几天的思考和尝试,终于找到原因了。因为我的服务器上安装了一个标准的java,通过windows服务启动tomcat的时候,调用的java就是调用的这个标准的java。因此虚拟机运行的时候查找类库的路径就是C:\Program Files (x86)\Java\jre1.8.0_111\lib\ext,在这里就当然找不到jar包了,所以把jar包复制到这里一份就解决问题了。




评分

参与人数 1威望 +15 收起 理由
kenminkajp + 15 很给力!

查看全部评分

企业应用定制开发。X5开发者。
手机:15065117236
QQ:87356667
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-11 03:59 , Processed in 0.078611 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表