1

我尝试在我的亚马逊实例上安装 james [1],并使用 MySQL 作为后端。我有 MySQL 连接器 mysql-connector-java-5.1.20.zip,解压缩并将其复制到 conf/lib 和 lib/ 但是当我启动 james 时: $ sudo bin/james start 它停止了。Wrapper 日志显示: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

我没有改变任何其他东西。但詹姆斯是行不通的。

任何帮助,谢谢!

4

3 回答 3

1

我设法让我的 apache-james-3.0-beta4 工作设置database.url=jdbc:mysql://127.0.0.1/james?create=true

于 2013-05-12T01:42:22.587 回答
0

维基

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

但是,他们的版本控制似乎已关闭,而且不可否认,这些方向对我不起作用

于 2012-08-15T02:09:49.150 回答
0

我知道这个回复来得有点晚,但我刚刚遇到了这个问题。

根据 Eric Charles 的回答

beta4 中的 conf/lib/*.jar 加载是错误的。

您需要编辑 conf/wrapper.conf 并更改

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

您可以使用文本编辑器,或者如果您使用脚本或类似的东西(在我的情况下为 Dockerfile)来安装 James,您也​​可以通过转到 wrapper.conf 所在的目录并执行来编辑它:

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

之后,下次启动 James 时,conf/lib 中的所有 jar 文件都应该加载到类路径中。

于 2015-05-28T22:52:13.873 回答