Джеймс не поднимает банку коннектора mysql

Я попытался выполнить установку James [1] на моем экземпляре Amazon с MySQL в качестве серверной части. У меня есть коннектор MySQL mysql-connector-java-5.1.20.zip, разархивированный и скопированный в conf/lib и lib/, но когда я запускаю james с помощью: $ sudo bin/james start, он останавливается. Журнал оболочки показывает: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Моя база данных james-database.properties выглядит так:

database.driverClassName=com.mysql.jdbc.Driverdatabase.url=jdbc:mysql://localhost:3306/jamesdatabase.username= ** user name **

database.password= ** секрет **vendorAdapter.database=MYSQL openjpa.streaming=false

Я больше ничего не менял. но Джеймс не работает.

Любая помощь, спасибо!


person wilson    schedule 01.06.2012    source источник


Ответы (3)


В вики говорится:

Using MySQL instead of Derby

Download the MySQL driver JAR from http://dev.mysql.com/downloads/connector/j/3.1.html, and put the JAR file into your ./conf/lib folder. Change the database settings in ./conf/database.properties to the following values:

# MySQL JDBC database properties
database.driverClassName=com.mysql.jdbc.Driver
database.url=jdbc:mysql://localhost/james
database.username=jamesuser
database.password=password_for_jamesuser
vendorAdapter.database=MYSQL
openjpa.streaming=false

To add the JAR to the classpath, edit ./bin/setenv.sh as shown here:

# Add every needed extra jar to this
CLASSPATH_PREFIX=../conf/lib/mysql-connector-java-5.1.13-bin.jar

Однако их версия кажется неправильной, и, по общему признанию, эти указания работай на меня.

person Thufir    schedule 15.08.2012

Мне удалось получить рабочую настройку apache-james-3.0-beta4 database.url=jdbc:mysql://127.0.0.1/james?create=true

person Andrey    schedule 12.05.2013

Я знаю, что этот ответ приходит немного поздно, но я только что столкнулся с этой проблемой.

Согласно ответу Эрика Чарльза:

Загрузка conf/lib/*.jar в beta4 содержит ошибки.

Вам нужно отредактировать conf/wrapper.conf и изменить

'wrapper.java.classpath...=../conf/lib' to 
'wrapper.java.classpath...=../conf/lib/*' (add a /* after lib).

Вы можете использовать текстовый редактор или, если вы используете скрипт или что-то подобное (Dockerfile в моем случае), чтобы установить Джеймса, вы также можете отредактировать его, перейдя в каталог, где находится файл wrapper.conf, и выполните:

sed -i "s/wrapper\.java\.classpath\.2=\.\.\/conf/wrapper\.java\.classpath\.2=\.\.\/conf\/lib\/\*/g" wrapper.conf

После этого все jar-файлы в conf/lib должны быть загружены в путь к классам при следующем запуске James.

person mcarrillo    schedule 28.05.2015