пятница, 30 марта 2012 г.

Что делать если не открывается сетевое окружение ни на одном из компьютеров рабочей группы сети?

Сегодня столкнулся со следующей проблемой - не открывалось сетевое окружение ни на одном из компьютеров рабочей группы. При этом сеть работала - то есть все компьютеры нормально пинговались, доступ к каждому компьютеру через ip тоже работал.
При выполнении команды net view из командной строки выдавало ошибку "Системная ошибка 6118. Недоступен список серверов для этой рабочей группы."

Для понимания почему такие ошибки иногда происходят необходимо понимать теорию работы общего сетевого доступа. Вкратце - для работы сетевого окружения необходимо наличие компьютера мастер-браузера (master browser). Этот компьютер назначается автоматически при включении компьютеров в сеть из имеющихся подключенных компьютеров путем выборов (elections). Правильная работа данного компьютера необходима для корректного разрешения имен в netbios-сети, т.е. такие ошибки обычно происходят именно из-за проблем в работе мастер-браузера.

Если сеть небольшая, из 3-5 компьютеров, то, наверное, наиболее простым решением будет просто выключить сразу все компьютеры, а потом их включить. Скорее всего автоматически будет назначен новый мастер браузер.

Для сети больших размеров для решения (и предотвращения появления в будущем) такой проблемы необходимо узнать имя текущего мастер браузера. Сделать это можно с помощью утилиты командной строки browstat.exe выполнив команду browstat sta. Зная имя компьютера идем (физически) к этому компьютеру. Если оказывается что компьютер просто завис - перезагружаем его. Если нет - проверяем чтобы службы обозpеватель компьютеров и сервер корректно работали. Далее в свойствах сетевого подключения смотрим чтобы компонент "клиент для сетей майкрософт" был включен.

Также проблема может возникнуть из-за того, что компьютер назначенный мастером имеет 2 сетевые карты. Для всех таких компьютеров - очень желательно запретить их использование в качестве мастер браузеров. Сделать это можно установив в реестре HKLM\System\CurrentControlSet\Services\Browser\Paramters ключ MaintainServerList в значение No.

После перезагрузки компьютера теоретически мастер браузер для сети должен переназначиться, но чтобы это произошло наверняка следует выполнить команду browstat elect - для запуска перевыборов мастер браузера.

В моем случае оказалось что компьютер назначенный мастер-браузером просто завис, после его перезагрузки сетевое окружение сразу стало нормально открываться.

вторник, 13 марта 2012 г.

Глюк в Netbeans 7.1

При обновлении netbeans до новой версии 7.1.1 при попытке скомпилировать один из старых проектов стало выдавать ошибку "copylibs doesn't support the "rebase" attribute when trying to perform an ant build of the project.". Об этой ошибке можно прочитать на официальном сайте netbeans перейдя по следующей ссылке. Для избавления от этой проблемы следует заменить файл lib/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar в папке проекта аналогичной библиотекой из любого созданного в netbeans 7.1.1 проекта (кому лень создавать пустой проект библиотеку можно скачать здесь).

четверг, 1 марта 2012 г.

Открытие в Windows файла или папки на java

Часто при проектировании приложений возникает необходимость просто открыть папку в проводнике или файл в связанном с расширением файла приложении, чтобы пользователь мог просмотреть его.
Решение этой задачи мной было найдено, однако оно является платформо-зависимым и точно подходит для систем ОС Windows версии ниже Windows XP (возможно и для других версий ОС Windows - не проверял, кто проверит, пожалуйста, отпишитесь). Платформо-независимого решения не нашел (кроме как анализировать версию ос и самому выбирать нужный способ запуска), если кто знает - поделитесь в комментариях.
Открытие файла происходит с помощью командной строки Windows, имя файла передается как параметр командной строки.
Открытие папки происходит с использованием проводника Windows explorer, имя папки передается как параметр запуска файла explorer.exe.

    /**
     * Opens Windows file in associated application
     * @param file File to open
     * @author Cloud
     */
    public static void openFile(File file) {
        try {
            String osName = System.getProperty("os.name");
            String[] cmd = new String[3];

            if (osName.equals("Windows 95")) {
                cmd[0] = "command.com";
            } else {
                cmd[0] = "cmd.exe";
            }
            cmd[1] = "/C";
            cmd[2] = file.getAbsolutePath();
            Runtime rt = Runtime.getRuntime();
            rt.exec(cmd);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    /**
     * Opens windows directory in explorer
     * @param dir Directory to open
     * @author Cloud
     */
    public static void openDir(File dir) {
        try {
            String[] cmd = new String[2];
            cmd[0] = "explorer.exe";
            cmd[1] = dir.getAbsolutePath();
            Runtime rt = Runtime.getRuntime();
            rt.exec(cmd);

        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

Ярлыки

java (31) оптимизация (7) CPanel (5) svn (5) windows xp (5) ошибка (5) свой сервер (5) файлы и папки (5) gui (4) регулярные выражения (4) jacoco (3) redmine (3) windows (3) автоматизация (3) защита данных (3) резервное копирование (3) сервер (3) JavaScript (2) Oracle SQL (2) adsl модем (2) apache maven (2) apache tomcat (2) coverage (2) dropbox (2) excel (2) firewall (2) netbeans (2) office 2007 (2) samsung (2) system tray (системный трей) (2) xerox (2) вирусы (2) принтер (2) сериализация (2) удаленный рабочий стол (2) HTML (1) JFileChooser (1) MySQL (1) Nokia (1) Ovi (1) P660R-T1 (1) WakeOnLan (1) blogger.com (1) ctfmon.exe (1) email (1) flash память (1) ftp (1) integration testing (1) ip (1) jQuery (1) jvisualWm (1) log4j (1) look and feel (1) myBatis (1) php (1) serialVersionUID (1) skype (1) smtp (1) ssh (1) swing (1) torrents (1) unit-testing (1) unix (1) vpn (1) windows 7 (1) xStarter (1) zip (1) безопасность (1) вход в систему (1) дизайн (1) документация (1) заправка (1) интернет (1) логирование (1) мышь (1) патч (1) перенос (1) печать (1) плагины (1) почтовые сообщения (1) программирование (1) процессы (1) прошивка (1) сеть (1) сеть. ошибка (1) скрытые файлы (1) списки (1) фильтрация (1) фокус (1) часовые пояса (1) шифрование (1) экран (1)