Samba Share + Gradle = Исключение Java IOJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Samba Share + Gradle = Исключение Java IO

Сообщение Anonymous »

Я использую новый сервер Mac OS X (OS X 10.11) с OpenDirectory и общим ресурсом samba для настройки удаленных домов.
Использование Android Studio в этой настройке привело меня к некоторым проблемам с gradle. Gradle пытается заблокировать файлы в каталоге кеша, что вызывает исключение Java IOException. Я мог бы сосредоточить проблему на этом демонстрационном коде:

Код: Выделить всё

import java.io.*;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;

public class FileLockTest {

public static void main(String[] args) throws Exception {
RandomAccessFile file = null;
FileLock fileLock = null;
try
{
file = new RandomAccessFile(args[0], "rw");
FileChannel fileChannel = file.getChannel();

fileLock = fileChannel.tryLock();
if (fileLock != null){
System.out.println("File is locked");
}
} finally{
if (fileLock != null){
fileLock.release();
}
}
}
}
Компиляция и запуск с именем файла в качестве первого аргумента показывает проблему: локальный файл может быть заблокирован (что бы это ни значило), но файл на общем ресурсе Samba выдает это исключение:

Код: Выделить всё

Exception in thread "main" java.io.IOException: Operation not supported
at sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
at sun.nio.ch.FileDispatcherImpl.lock(FileDispatcherImpl.java:90)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1114)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at FileLockTest.main(FileLockTest.java:15)
Теперь мой вопрос: есть ли способ включить функцию блокировки файлов для общего ресурса Samba с сервером Mac OS X? Я пропустил какую-то сложную настройку сервера Samba?

Это действительно делает невозможным использование Android Studio (/gradle) при настройке OpenDirectory..

Подробнее здесь: https://stackoverflow.com/questions/332 ... -exception
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»