Java 如何检查eclipse工作区是否已锁定
我有几个eclipse实例同时运行,我想检查其中一个实例的工作区当前是否正在使用中。 因此,我只想了解工作区的路径Java 如何检查eclipse工作区是否已锁定,java,eclipse,Java,Eclipse,我有几个eclipse实例同时运行,我想检查其中一个实例的工作区当前是否正在使用中。 因此,我只想了解工作区的路径C:\Users\XY\workspace 我看到.metadata文件夹中有一个.lock文件。但是它的大小一直是0kb。那么如何检查呢 提前谢谢 锁定代码org.eclipse.osgi.internal.location.Locker\u JavaNio使用: RandomAccessFile raFile = new RandomAccessFile(lockFile, "r
C:\Users\XY\workspace
我看到.metadata
文件夹中有一个.lock
文件。但是它的大小一直是0kb
。那么如何检查呢
提前谢谢 锁定代码
org.eclipse.osgi.internal.location.Locker\u JavaNio
使用:
RandomAccessFile raFile = new RandomAccessFile(lockFile, "rw");
FileLock fileLock = raFile.getChannel().tryLock(0, 1, false);
锁定.lock
文件
如果文件已锁定,tryLock
将引发异常
解锁是:
fileLock.release();
raFile.close();
如果
.lock
文件存在,那么它将被锁定。不,如果我关闭eclipse,那么.lock
文件仍然存在感谢您提供的有用提示。然而,这仍然不能回答这个问题。也许可以编写一个Java程序,用这些信息进行检查。但是,难道没有一种简单的方法可以从命令行/shell脚本测试它吗?为什么Eclipse不在退出时简单地删除.lock文件?@Jörg命令行在什么操作系统上?我不是Eclipse设计师,所以我不能说它为什么不删除锁。我在MacOS上,但我需要提供一个来自独立于平台的bash脚本的解决方案。它当然可以使用${OS_TYPE},但不需要启动JVM。然而,已经有了一个针对MacOS的解决方案将是非常好的。