我正在尝试从Maven中提取一些属性,并在我的应用程序启动时打印它们.我正在使用Spring Boot,因此我会自动完成资源过滤.
在我的application.yml中,我有以下内容
applicationName: "@project.artifactId@"
buildVersion: "@project.version@"
buildTimestamp: "@maven.build.timestamp@"
Run Code Online (Sandbox Code Playgroud)
当我在IntelliJ上运行时,我得到了所需的结果,我的属性被填充并按预期打印(单引号具有相同的结果)删除引号将给出一个关于使用'@'字符的SnakeYaml的例外情况
当我在Cent-OS上运行时,通过jar(java -jar blah..blah),属性没有被解析,而是被视为字符串而不是正确的版本号等,打印的是字符串在上面的引号内.
有想法该怎么解决这个吗?它与我运行jar的方式有关吗?
我用这个作为例子
我正在尝试编写将在SQLite查询不返回结果时执行的代码.但是,Node.js的异步性质使这很困难.我不知道我是否可以在回调函数中编写代码,因为当我使用将导致空结果的输入进行测试时,没有任何反应.
我正在做
db.each("SELECT pid, collection , photo FROM photos WHERE collection = '"+collection_id+"' AND pid = '"+photo_id+"' ", function(err, row) {
console.log("PHOTO FOUND");
//code inside the callback function
});
//code I want
Run Code Online (Sandbox Code Playgroud)
具体来说,我想渲染一些通用的东西,以防用户请求不在db中的内容我该怎么办?
我是 Spring Boot 的新手,我正在尝试为我的项目添加一个简单的 html 页面目前,我的项目结构如下:
阅读以下内容:https : //spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot
和 StackOverflow 中的其他答案,我希望在访问http://localhost:8080/时看到 index.html 的内容
我可能会错过什么?
我正在尝试在我的更改日志中使用 liquibase 的 sqlFile 命令。我的 yaml 文件中有以下内容:
- changeSet:
id: 2
author: marios
changes:
- sqlFile:
dbms: sql server, h2
encoding: utf8
endDelimiter: \nGO
path: script.sql
relativeToChangelogFile: true
splitStatements: true
stripComments: true
Run Code Online (Sandbox Code Playgroud)
这里发生的是:
变更集编号 1(上面未显示)包括创建/插入 liquibase 语句,并且正在 h2 和 sql server 上执行
变更集 2 仅尝试执行提供的 sql 文件。
变更集 2 正在 h2 上执行,但在 sql server 的情况下被忽略
我可以看到日志指出脚本在 H2 上成功运行,但在 SQL Server 的情况下,我可以看到变更集 2 在 2ms 内执行(我理解为:我看到了变更集 2,但我不明白该怎么做我会无视)
问题是,如果我将“sql server”这个词替换为“whatever”之类的词,我仍然会得到相同的结果,这让我认为我没有使用正确的词来要求 liquibase 在SQL 服务器。
我认为正确的措辞应该是文档中所述的“sql server”,但这似乎不起作用。
有任何想法吗?
java ×2
spring-boot ×2
database ×1
h2 ×1
liquibase ×1
maven ×1
node.js ×1
sql-server ×1
sqlite ×1