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.每个人遇到的问题,原因可能都不止一个...
感谢
- http://blog.csdn.net/gallenzhang/article/details/51932152
- http://blog.163.com/artsn@126/blog/static/36533281201211653657740/
- http://blog.csdn.net/j04110414/article/details/8864667
作者:习惯沉淀
如果文中有误或对本文有不同的见解,欢迎在评论区留言。
如果觉得文章对你有帮助,请点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
扫码关注一线码农的学习见闻与思考。
回复"大数据","微服务","架构师","面试总结",获取更多学习资源!