当前位置: 首页 > 知识库问答 >
问题:

从JOOQ Code Gen Config xml中的属性文件读取值

高嘉熙
2023-03-14

是否可以从代码生成器xml配置文件中的属性文件(例如数据库属性文件)中读取值?

例如,我将所有数据库属性存储在一个单独的文件中,如:-

local.datasource.url=jdbc:mysql://localhost:3307
local.datasource.username=testuser
local.datasource.password=testpassword
local.datasource.driver-class-name=com.mysql.jdbc.Driver

以上连接信息正被我的应用程序用来访问数据库。我希望我的jooqCodeGen.xml看起来有点像这样:

   <jdbc>
        <driver>${local.datasource.driver-class-name}</driver>
        <url>${local.datasource.url}</url>
        <user>${local.datasource.username}</user>
        <password>${local.datasource.password}</password>
    </jdbc>
...

这样我就不必复制属性了。我正在从build触发JOOQ代码生成工具。格拉德尔

建筑格拉德尔

task generateJooqDatabaseSource(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath
    main = 'org.jooq.util.GenerationTool'
    args = ['/jooqCodeGen.xml']
    standardOutput = System.out
    errorOutput = System.err
}

我们有没有办法做到这一点?

共有1个答案

周培
2023-03-14

您可以在gradle构建期间生成XML,就像手册中的一样

http://www.jooq.org/doc/3.7/manual/code-generation/codegen-gradle/

(它很长,所以我不会在这里复制它)

然后,您需要做的就是加载db.properties,以便属性可用于gradle构建,例如(从https://discuss.gradle.org/t/how-to-include-an-external-properties-file/4263/2)

ext.dbProps = new Properties()
dbProps.load(file("db.properties"))

然后,您可以访问您的属性:

println dbProps['local.datasource.url']
 类似资料:
  • 问题内容: 在angularJS中,如何从属性文件中读取值? app.js: 问题答案: 如果是驻留在Web服务器上的文件,则只需执行以下操作: 您可以在此处查看示例: http://plnkr.co/edit/3Ne3roFOwcfVmg2mgnUr?p=preview

  • 问题内容: 我正在用弹簧。我需要从属性文件中读取值。这是内部属性文件,而不是外部属性文件。属性文件可以如下。 我需要以传统方式从属性文件中读取这些值。如何实现呢?Spring 3.0是否有最新方法? 问题答案: 在你的上下文中配置PropertyPlaceholder: 然后,你引用bean中的属性: 编辑:更新了代码以使用逗号分隔的多个值来解析属性: 如果那不起作用,则可以定义一个带有属性的be

  • 问题内容: 我创建了一个REST Web服务,在其中创建了config.properties文件来存储和检索整个应用程序中的一些用户名和密码。我将其存储在/src/main/resources/config.properties中。 当我尝试从eclipse的Java代码加载它时,它工作正常。但是当我将它部署在tomcat中时,它没有加载。我用来加载属性文件的代码是 谁能帮我解决这个问题 问题答案

  • 我试图只使用注释创建Spring bean。我无法从属性文件加载@Bean类的值。 下面是我的代码: 知道我做错了什么吗?

  • 我有一个实用工具类,其中我有一个方法,它需要用户名和密码来连接其他URL。我需要将用户名保存在属性文件中,这样我就可以随时更改它。但当我在静态方法中使用它(作为实用程序类)时,问题是它显示为空(即它不能从属性文件中读取)。 但当我在其他控制器中输入这些值时,它们就会到达那里。所以我的问题是如何读取静态字段中的属性值

  • 这是我的pom。xml具有如下scm配置 我有一个属性文件,我正在使用properties maven plugin读取该文件,它的值为${my.scm.url},我还使用buildnumber maven plug从SVN获取最新版本。 问题是buildnumber-maven-plugin抛出了无效的scm url错误,但是,当我用实际url替换${my.scm.url}到我的svn repo