- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在排序文件时遇到了奇怪的问题。
给定环境
Dev: Mac OS X 10.11.3 OracleJDK 1.8.0_45
PreProduction env: FreeBSD 10 OpenJDK 1.8.0_72
代码
public static String getLatestTag() {
File tagsDir = new File("./.git/refs/tags");
...
File[] tags = tagsDir.listFiles();
List<File> tagsList = Arrays.asList(tags);
Collections.sort(tagsList, (f1, f2) -> {
if(f1.lastModified() > f1.lastModified()) {
return 1;
} else if(f1.lastModified() == f2.lastModified()) {
return 0;
} else {
return -1;
}
});
logTagsList(tagsList);
String latestTag = tagsList.get(0).getName();
Logger.info("Application version is: %s", latestTag.replaceAll("[^\\d.]", ""));
return latestTag;
}
private static void logTagsList(List<File> tags) {
if(Logger.isDebugEnabled()) {
Logger.debug("Tags found");
for(File tag : tags) {
Logger.debug("Tag: %s, Date modified: %s", tag.getName(), tag.lastModified());
}
}
}
给出输出
在 Mac 上:
17:49:50,601 DEBUG ~ Tags found
17:49:50,602 DEBUG ~ Tag: v0.97, Date modified: 1457277455000
17:49:50,602 DEBUG ~ Tag: v0.95, Date modified: 1455809758000
17:49:50,602 INFO ~ Application version is: 0.97
在 FreeBSD 上:
18:52:49,902 DEBUG ~ Tags found
18:52:49,903 DEBUG ~ Tag: v0.95, Date modified: 1456038720000
18:52:49,903 DEBUG ~ Tag: v0.97, Date modified: 1457277515000
18:52:49,904 INFO ~ Application version is: 0.95
在这两种情况下,运行应用程序的用户都具有 .git 目录的读取权限。
重现步骤:1)git初始化2)引导java应用程序(或播放框架1.4应用程序以进行完整重现)3)添加给定代码4) 向 git 提交 2 次5)标记这些提交6) 运行应用程序7)检查日志
最佳答案
您在比较中遇到错误:if(f1.lastModified() > f1.lastModified())
- 您正在此处比较 f1 与 f1。如果两个文件没有同时修改,那么无论您比较什么,您总是返回 -1。这会导致不可预测的行为。
关于macos - Mac 和 FreeBSD 上的 Java 8 不同的文件按修改数据排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35829292/
如果我在 FreeBSD 上,我想编译一些 C 代码。我为此使用了什么#ifdef? 我意识到这是正确的网络搜索应该回答的基本问题,但我找不到正确的搜索词。我看过代码检查 FREEBSD 和/或 __
好的,所以我刚刚读完 FreeBSD 的 kill(2) 的实现,并且正在尝试编写我自己的“kill”。这个系统调用需要 uid和 signum并将信号发送到 uid 拥有的进程,不包括调用进程。 我
如何获取系统中文件描述符的当前计数? 我知道如何获得最大值。 % sysctl kern.maxfiles kern.maxfiles: 8232 引用: http://www.freebsd.org
我继承了一个多台运行 jails 的 FreeBSD6.1 机器的环境。 由于本地网络上的 IP 耗尽,我想更改 jails,以便在物理网络上有 1 个可路由的 IP,而在 jails 之间有另一个不
如何从源代码在 FreeBSD 10.1 x86_64 上记录系统调用(int 0x80 和 sysenter/syscall 的系统调用编号和返回值)? 我知道 truss 可以完成这项工作,但我需
我的电脑上有 Windows、Linux 和 FreeBSD。但不小心我“忘记”在磁盘末尾分配 17 GB 的可用磁盘空间(“坏”Windows 使用了一个小的主恢复分区。因此我现在有 4 个主分区)
我有一个库,我想在 FreeBSD 上测试它。我的 CI 设置没有任何 FreeBSD 系统,添加它们会很困难,但是我可以在我的 CI 脚本中启动一个 VM。 (事实上 ,我已经这样做是为了在更奇
我负责管理一堆服务器,我想在每个服务器上设置我的提示,这样我就不会对我登录的位置感到困惑。 我已经编辑了我的 .cshrc文件并将其放入其中: set prompt=`whoami`@`hostnam
我正在为 FreeBSD 上的服务器编写错误处理代码。对于极其严重的错误,我想通过立即终止来避免数据损坏。很简单,exit(3) .在我退出之前,我输出引导我到达那里的相关变量。但是,理想情况下,此终
在 FreeBSD 系统上,在下面的顶部输出中,mysql 守护进程处于“sbwait”状态。这意味着什么? last pid: 12833; load averages: 0.18, 0.26
我有一个包含/boot/loader* 和/boot/kernel 等的 FreeBSD 镜像。它在 EC2 实例下启动良好,但我想用 Qemu 启动它。我尝试了各种方法,但都没有奏效。见下文。 qe
我倾向于在 Linux 上使用 cscope 和 ctags。我只是在我的源目录中运行 ctags -R 和 cscope -R 开始浏览源代码。 看起来它在 FreeBSD 中有所不同。 任何人请发
我安装了 FreeBSD 虚拟机,然后运行 sudo pkg install clang-devel。然而 clang-format似乎丢失了: -sh: clang-format: not fo
我正在为不使用 Make 的应用程序 ( Cypress ) 创建一个 FreeBSD 端口;相反,它使用 NPM: npm run binary-build-linux cd cli npm run
我在运行 Java 子进程时遇到性能问题Java下,运行在FreeBSD 9.0-RELEASE i386上。 对于该程序,System.exit() 的运行时间约为 2.6 秒。和我不明白为什么。在
我正在阅读 FreeBSD 的源代码,发现它们有 2 个文件可用于创建 MBR - sys/boot/i386/boot0/boot0.S 和 sys/boot/i386/mbr/mbr.S。 从目前
我正在尝试编写一个可移植的安装脚本来为我的编程语言构建编译器。可以看到脚本here : mkdir ArithmeticExpressionCompiler cd ArithmeticExpressi
我目前正在尝试找到一种在 FreeBSD 9.2 上安装包 openjdk8 的方法。为此,我使用了: sudo pkg install openjdk8 它没有任何问题。但是,这也将 perl 包更
在 FreeBSD 8.4 中,pkg 安装无法运行并出现错误。 $ pkg install git pkg:No active remote repositories configured. pkg
我正在考虑为 FreeBSD 编写一个守护程序,但是,我从来没有做过,而且看起来很棘手。 有没有我可以包含的库,然后只为我的守护进程编写特定的东西? 最佳答案 很抱歉发布这个答案而不是评论 - 我没有
我是一名优秀的程序员,十分优秀!