小编Mar*_*kus的帖子

Spring Boot:H2 数据库未保存到文件

我正在尝试使用 Spring Boot 将 H2 内存数据库持久化到一个文件中,以重用其中的数据。

不幸的是,指定数据源 url 的方式如下

spring.datasource.url = jdbc:h2:file:~/WeatherDB;FILE_LOCK=FS
Run Code Online (Sandbox Code Playgroud)

(完整的 application.properties)

对我不起作用。我在硬盘上的任何地方都找不到 H2 生成的文件(另外,重新启动服务器后保存的数据不可用)。

为了可视化这一点,我创建了一个示例项目,可以在Bitbucket上找到。

有了这个,如果应用程序是从 IDE 运行的,gradle run或者从 jar 打包它,它似乎没有什么区别。

需要什么配置选项来持久化和重用 H2 DB?

更新:

我意识到有在配置选项的执行端点http://localhost:8080/configprops昭示着

"spring.datasource.CONFIGURATION_PROPERTIES": {

    "prefix": "spring.datasource",
    "properties": {
        "schema": null,
        "data": null,
        "xa": {
            "dataSourceClassName": null,
            "properties": { }
        },
        "separator": ";",
        "url": "jdbc:h2:file:~/WeatherDB",
        "platform": "all",
        "continueOnError": false,
        "jndiName": null,
        "sqlScriptEncoding": null,
        "password": "******",
        "driverClassName": "org.h2.Driver",
        "initialize": true,
        "username": "sa"
    }
},
Run Code Online (Sandbox Code Playgroud)

但是我WeatherDB在我的硬盘上找不到文件,重新启动服务器后也没有任何数据可用。 …

spring h2 spring-data spring-boot

7
推荐指数
2
解决办法
1万
查看次数

从make转到cmake:如何使用通配符构建目标

我正在尝试将makefile-build转换为cmake(以避免当前状态被强制关注基于make/msdev的windows-build env和基于make/gcc的linux).

在这个项目中,我发现了一个充满源代码文件的目录,它根据命名约定编译到库中.(例如c1223.c => c1223.dll(或.sl))

当前的makefile包含一些使用通配符的指令,例如:

LIB_NO  = $(basename $(subst s,,$@))

OBJ = $(OBJ_PATH)/s$(LIB_NO).o $(OBJ_PATH)/c$(LIB_NO).o\
          $(OBJ_PATH)/b$(LIB_NO).o

$(OBJ_PATH)/%.o : %.c
    -$(CC) $(CFLAGS) -I$(PWD) -c $< -o $@
    -(chmod a+w $@;true)
Run Code Online (Sandbox Code Playgroud)

我已经搜索了一段时间但找不到任何似乎有用的东西.是否可以使用cmake让它生成基于通配符的构建?

任何评论,提示和建议都非常欢迎:)

马克斯欢呼

makefile wildcard cmake

5
推荐指数
1
解决办法
4385
查看次数

遗留代码:mmap零页面:不允许操作 - 我应该从哪里开始?

我要处理旧的 C-源代码.在我设法编译它之后,在运行它时我收到错误消息

mmap zero page: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

有时会出现Segmentation故障.

我已经阅读了一些关于mmap()命令的内容,但我无法解决,这个错误消息来自哪里以及我应该如何处理它.

我可以"重新启用"它吗?(该程序曾用于较旧的Linux系统).

我正在使用Ubuntu 11.04和GCC 3.4

任何提示非常赞赏:-)

谢谢马库斯

c ubuntu gcc mmap segmentation-fault

4
推荐指数
1
解决办法
2875
查看次数

在yeoman/angular grunt构建中不会更新对font(font-awesome)资源的引用

我知道关于这个的SO线程(我已将它们链接到下面),但不幸的是我无法解决这个问题,所以请允许我这个问题:-)

我用Yeoman引导了一个AngularJS项目,因此依赖于使用bower.js和SCSS的grunt.js构建.我想从bootstrap-sass-official使用font-awesome和glyphicons-halflings-regular.当运行"grunt serve"时一切都很好,但是当我想创建一个用于分发的文件集时,对字体文件的引用不会按照它们应该更新.

main.scss包含

$icon-font-path: "../bower_components/bootstrap-sass-official/vendor/assets/fonts/bootstrap/";
@import 'bootstrap-sass-official/vendor/assets/stylesheets/bootstrap';

$fa-font-path: "../bower_components/font-awesome/fonts/";
@import "font-awesome/scss/font-awesome";
Run Code Online (Sandbox Code Playgroud)

但是dist/styles/123456.main.css中的结果是像

@font-face{font-family:FontAwesome;src:url(/Users/markus/src/angular_app/.tmp/bower_components/font-awesome/fonts/fontawesome-webfont.eot?v=4.1.0);
Run Code Online (Sandbox Code Playgroud)

所以,对我来说,它看起来像路径更新(到tmp路径),但没有正确的值为"dist".我试图摆弄gruntfile中的copy和rev任务,但还没找到合适的触发器,但是:(

我用过的线程和其他来源为此找到了解决方案:

有什么提示我怎么能这个?

angularjs gruntjs font-awesome bootstrap-sass bower

4
推荐指数
2
解决办法
9032
查看次数