如何使用PostgreSQL而不是MySQL配置Artifactory?

时间:2009-07-09 12:19:41

标签: java maven-2 repository artifactory

如何配置PostgreSQL而不是MySQL来运行artifactory

2 个答案:

答案 0 :(得分:3)

repo.xml文件的链接已损坏且不正确(因为它指向mysql配置)。

获取正确的repo.xml文件

  1. web site
  2. 下载OSS版本
  3. 将其解压缩到文件夹
  4. 查看解压缩的文件夹,然后转到/ etc / repo
    postgres有两种可能性:
    A. filesystem-postgres / repo.xml
    B. postgres / repo.xml

  5. 复制$ ARTIFACTORY_HOME / etc / repo /

  6. 中的文件夹A或B.
  7. 根据您的数据库配置将您刚刚复制的** / repo.xml文件中的用户名/密码和数据库信息编辑。
  8. 注意:请记住,这会影响您在$ ARTIFACTORY_HOME / etc / artifactory.system.properties中所做的更改(artifactory.jcr.configDir = filesystem-postgres OR artifactory.jcr.configDir = repo / PostgreSQL的)

答案 1 :(得分:2)

在Artifactory 2上,您可以根据您引用的说明配置数据源,只需为PostgreSQL执行等效操作(替换等效值)。

因此修改$ ARTIFACTORY_HOME / etc / artifactory.system.properties以取消注释(并修改)该行:

artifactory.jcr.configPath=repo/postgresql

创建文件

$ARTIFACTORY_HOME/etc/repo/postgresql/repo.xml

文章中引用了用作基础的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&amp;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目录中,并且正如说明所说,最好在干净安装下运行它。

祝你好运