Я перестраиваю свою среду разработки, и я не могу заставить JDBC работать. Я запускаю Tomcat 7 под Eclipse Java EE Mars.2 и использую mysql-connector-java. Также Linux Mint 17.2. Я обновился до самого последнего из множества вещей, но я не думаю, что это так.Tomcat не может найти драйвер JDBC под Eclipse?
Когда я запускаю сервер Tomcat под Eclipse, я продолжаю получать следующее. Я не запускаю его отдельно на этой машине. Просто под Eclipse.
SEVERE:
Servlet.service() for servlet [jsp] in context with path [] threw exception [javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.lang.NullPointerException"] with root cause
javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.lang.NullPointerException"
Я предполагаю, что это означает, что он не может найти водителя? Все структуры файлов такие же, как у моего старого ПК. И IDE не жалуется ни о чем. Это просто, когда я пытаюсь запустить сервер.
Я добавил mysql-connector-java-5.1.39-bin.jar
в папку Tomcat/lib. В частности: /opt/apache-tomcat-7.0.69/lib
. И я убедился, что сервер ссылается на эту папку. Я также убедился, что это не в папке lib Webapp. Так я всегда это делал раньше.
Я предполагаю, что это водитель вещь. Но, может быть, нет? Может кто-нибудь предложить хороший способ отладить это? Потому что я в тупике ...
META-INF/context.xml
как и в предыдущей среде. Пароль правильный и не может быть подключен к IDE.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/mydbdb"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
testWhileIdle="true" testOnBorrow="true" testOnReturn="false"
validationQuery="SELECT /* ping */" validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="100" minIdle="10" maxWait="10000" initialSize="10"
removeAbandonedTimeout="600" removeAbandoned="true" logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
username="user" password="password"
useUnicode="true" useEncoding="true" characterEncoding="UTF-8"
url="jdbc:mysql://localhost:3306/mydb?useOldAliasMetadataBehavior=true&zeroDateTimeBehavior=convertToNull"
/>
<Resource name="mail/MailSession"
auth="Container"
type="javax.mail.Session"
mail.smtp.auth="false"
mail.smtp.host="localhost"
/>
</Context>
Вы имеете в виду драйвер JDBC? – meskobalazs
'javax.servlet.jsp.JspException: невозможно получить соединение, DataSource недействителен:« java.lang.NullPointerException »означает, что некоторая строка кода пытается получить доступ к нулевой ссылке. Вы должны выяснить, какая строка кода - это практически гарантировано вам поможет. – DavidS
Я начал комментировать код, и он просто перешел к следующей ссылке базы данных. Так что это определенно глобальная проблема ... – PrecisionPete