пятница, 18 декабря 2009 г.

ProcessBuilder java.io.IOException: Cannot run program : CreateProcess error=123

ProcessBuilder мутный. Он непонимает команду одной строчкой.



Такую строчку он не поймёт - CreateProcess error=123







 String debugCmd = "C:\\development\\Java\\jdk1.6.0_12\\bin\\java -cp C:\\work\\trunk\\Server\\lib\\xxx.jar; xxx.Test";

а такую совсем не поймёт - CreateProcess error=2


String debugCmd = "java -cp C:\\work\\trunk\\Server\\lib\\xxx.jar; xxx.Test";

а так поймёт!
String[] debugCmd = new String[]{
    "java", "-cp", "C:\\work\\trunk\\Server\\lib\\xxx.jar;", "xxx.Test"
  };


и поехали
ProcessBuilder processBuilder = new ProcessBuilder(debugCmd);
            processBuilder.directory(new File(home));
            processBuilder.redirectErrorStream(true);
            Process process = processBuilder.start();


узнал тут :
http://forums.sun.com/thread.jspa?threadID=5396595&messageID=10761026

среда, 16 декабря 2009 г.

Генератор classpath

Рекурсивный генератор classpath. Всасывает только jar.

суббота, 5 декабря 2009 г.

Hibernate - merge update refresh

                                 Пусть в абсолютно сферическом хибернейте на абсолютно перпендикулярной базе есть ентитя, и у неё есть два интовых поля a и b. 


четверг, 26 ноября 2009 г.

SymmetricDS UDF Firebird fuck


Invalid token.
invalid request BLR at offset 63.
function SYM_ESCAPE is not defined.
module name or entrypoint could not be found.

Хня похоже не зависит от системы(винды) - вообще непонятно от чего она зависит. Одинаково хорошо проявлялась на windows server 2003(32), 2008(32/64) с Firebird(2.1.3, 2.0.5). Возникает потому что udf  SYM_UDF.dll не всасывается. Для того чтобы всосалась необходимо пересобрать эту udf в VisualStudio под Runtime 8.0.

понедельник, 16 ноября 2009 г.

OSGI ant bnd fuck

bnd
это такая jar ка
 http://www.aqute.biz/Code/Download

Зачем bnd?
Умеет делать красивый манифест с импортами и экспортами по спецификации OSGI и jar.

Нада bnd?
Вообще нет. Основная фишка что он автоматически умеет вписывать пэкэджи в манифест.

Как bnd?
Тулза используется в ряде фрэймворков для генерации jar под OSGI. В анте она работает так -
лезит в спец файл(обычно он имеет расширение .bnd) и получает оттуда пути всех используемых в билде jar и маски импортов-экспортов, на основе чего генерит манифест и jar.

вторник, 10 ноября 2009 г.

Osmorc fuck



Osmorc for IDEA 8 Release 0.14.0

Ни в коем случае не связываться с этим говном. 

среда, 21 октября 2009 г.

Как повесить System.exit(0)

Как написано в доках - This method never returns normally...

Вообще хуки они -
They should, in particular, be written to be thread-safe and to avoid deadlocks insofar as possible. They should also not rely blindly upon services that may have registered their own shutdown hooks and therefore may themselves in the process of shutting down. Attempts to use other thread-based services such as the AWT event-dispatch thread, for example, may lead to deadlocks.