【发布时间】:2010-11-09 08:43:17
【问题描述】:
如何配置 PostgreSQL 而不是 MySQL 来运行 artifactory?
【问题讨论】:
-
您使用的是哪个版本的 Artifactory?
标签: java maven-2 repository artifactory
如何配置 PostgreSQL 而不是 MySQL 来运行 artifactory?
【问题讨论】:
标签: java maven-2 repository artifactory
repo.xml 文件的链接已损坏且不正确(因为它指向 mysql 配置)。
获取正确的 repo.xml 文件
查看提取的文件夹并转到 /etc/repo
postgres 有两种可能性:
A. 文件系统-postgres/repo.xml
B. postgres/repo.xml
复制 $ARTIFACTORY_HOME/etc/repo/ 中的文件夹 A 或 B
注意:请记住,这将影响您在 $ARTIFACTORY_HOME/etc/artifactory.system.properties 中所做的更改(artifactory.jcr.configDir=filesystem-postgres 或 artifactory.jcr.configDir=repo /postgresql)
【讨论】:
在 Artifactory 2 上,您可以按照您引用的说明配置数据源,只需对 PostgreSQL 执行等效操作(替换等效值)。
因此修改 $ARTIFACTORY_HOME/etc/artifactory.system.properties 以取消注释(并修改)该行:
artifactory.jcr.configPath=repo/postgresql
创建文件
$ARTIFACTORY_HOME/etc/repo/postgresql/repo.xml
作为base使用的repo.xml在文章中有引用,也可以找here
然后您需要设置 repo.xml 的内容以匹配您的数据库设置(从引用的文件中提取相关部分并修改我可以修改的部分):
<!-- MySQL Filesystem -->
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql:[your database URL]"/>
<param name="user" value="artifactory_user"/>
<param name="password" value="password"/>
<!-- Leave this on "mysql", don't know how these apply for PostgreSQL -->
<param name="schema" value="[postgresql??]"/>
<param name="schemaObjectPrefix" value="rep_"/>
</FileSystem>
<!-- http://wiki.apache.org/jackrabbit/DataStore -->
<!-- MySQL Datastore -->
<DataStore class="org.artifactory.jcr.jackrabbit.ArtifactoryDbDataStoreImpl">
<param name="url" value="jdbc:postgresql:[your database URL]"/>
<param name="tablePrefix" value=""/>
<param name="user" value="artifactory_user"/>
<param name="password" value="password"/>
<param name="databaseType" value="postgresql"/>
<param name="driver" value="org.postgresql.Driver"/>
<param name="minRecordLength" value="512"/>
<param name="maxConnections" value="15"/>
<param name="copyWhenReading" value="true"/>
</DataStore>
<!-- PostGreSQL Persistance Manager -->
<PersistenceManager
class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="url"
value="jdbc:mysql://localhost:3306/artifactory?useUnicode=true&characterEncoding=UTF-8"/>
<param name="user" value="artifactory_user"/>
<param name="password" value="password"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>
记得将PostgreSQL jar 放到 WEB-INF/lib 目录中,按照说明,最好在全新安装的情况下运行它。
祝你好运
【讨论】: