IDEA搭建ssm框架测试衍生出的问题The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Develop\jdk7\jdk1.7.0_79\bin;

问题描述

最近玩起IDEA这开发工具,搭建ssm框架测试时,部署项目出现如下问题:

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Develop\jdk7\jdk1.7.0_79\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:\Develop\jdk8\jdk1.8.0_112\bin;D:\Develop\jdk8\jdk1.8.0_112\jre\bin;D:\Develop\apache-cxf-3.0.13\bin;D:\Develop\apache-maven-3.5.0\bin;D:\Develop\gradle-4.0\bin;D:\Develop\apache-tomcat-7.0.52\lib;C:\ProgramData\Oracle\Java\javapath;G:\oracle11g\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\Common Files\NetSarang;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\Develop\svn\bin;D:\Develop\MySQL\MySQL Server 5.5\bin;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;D:\Develop\apache-tomcat-7.0.52\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\Develop\Bandizip\;.

解决方案

1.先搜了下解决方案,把tomcat的bin目录加入到环境变量中,没解决.

2.然后,有说下载.dll文件放到tomcat的bin目录下的,如下:(没解决)

步骤一:

http://tomcat.heanet.ie/native/1.1.10/binaries/

下载:tcnative-1.dll文件

启动tomcat,控制台:

严重: An incompatible version 1.1.10 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.29

说明.dll的版本需1.1.29的,那就下载1.1.29的呗....

步骤二:

 下载1.1.29版本的.dll文件,但是通过查找发现最新的版本也不过1.1.14....

 步骤三:

降低tomcat版本?换成tomcat6....

3.继续搜索

http://blog.csdn.net/j04110414/article/details/8864667

(1).该文中说到jdk版本问题, jdk7和8都没影响, 依然是同样的错误.调到现在已经很无奈了......(读到这里我已经对国内的资料很反感了,大部分都是抄袭,但是直到最后问题解决发现他们抄袭的还是对我有帮助的...都是过来人啊...)

(2).jar包没有导入...??(就是这个问题)

  开始以为pom.xml自动导入就万事大吉了,原来IDEA创建的web项目,pom引入jar的依赖后,还需要下面的一步配置: 将jar包导入到项目中:

  File>Project Structure>Artifact

在pom.xml中依赖jar后, 此时的jar包是在上图的绿色部分.此时jar包是没有导入到项目中的!!!将其全选>右键....那啥,搞到左边来就ok了!!!(具体可搜索"IDEA的web项目导入jar包"可参考http://blog.csdn.net/qq_26525215/article/details/53239123这篇介绍了两种方式...)

好了, 导入jar包后重启tomcat:

欧了.浏览器自动弹出index.jsp:

===============================傲娇的分割线=================================

然后访问我的Servlet:

地址栏输入:http://localhost:8080/personal/user/showUser

此时,一万个草泥马奔腾而过....

这个问题就是和标题无关的事儿了.这是我编写测试代码时参考的网上的一个demo:http://blog.csdn.net/gallenzhang/article/details/51932152这篇已经介绍的非常详细了.我这里之所以出现这个问题是因为没连接到数据库,也就是我的jdbc.properties配置有问题:下面这个代码块是他项目中的配置,我需要将数据库名db_ssm修改为我的数据库名pers,然而我把这个jdbcUrl后面的拼接那一串干掉了:

修改成了jdbcUrl=jdbc:mysql://localhost:3306/pers, 是不是因为这样才报的错呢?...fuck.还有这种操作?

driverClasss=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/db_ssm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
username=root
password=root

#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000

 再访问http://localhost:8080/personal/user/showUser

很明显了,绑定有问题,查看配置文件.原因如下:

 再访问http://localhost:8080/personal/user/showUser 终于好了...

此时验证jdbc.properties的jdbcUrl的拼接配置, 将拼接删除,改为:jdbcUrl=jdbc:mysql://localhost:3306/pers

重启tomcat,访问http://localhost:8080/personal/user/showUser其结果和带拼接的是一样的...后面拼接的编码集啥的无可厚非...

 

另:http://www.cnblogs.com/lz-wolf/archive/2011/10/29/2228923.html这篇的解决办法,我试了,不对号.不知道其他人是不是有这文章里讲的情况. 

 

总结

  1.pom.xml引入jar的依赖后需要将jar包导入到项目中;

  2.有时不得不考虑jdk和tomcat的版本问题,但基本上关系不大,通常用的无非tomcat7或8(貌似公司项目用的6), jdk7或8;

  3.查看控制台及日志文件;

  4.余下的就是基础知识和细心了;

  5.IDEA的项目结构等,摸索IDEA的路还很长啊...;

  6.每个人遇到的问题,原因可能都不止一个...

 

感谢

 

posted @ 2017-08-05 00:05 习惯沉淀 阅读(...) 评论(...) 编辑 收藏