Как запустить приложение собранное maven и отладить его

February 6, 2010

На вопрос: “Почему вы не используете maven?”, средний разработчик как-то странно пожимает плечами, затягивая: “Ну понимаете…”
“Понимаю”: причина в том что всё так красиво и простая команда mvn package творит чудеса, но вот когда доходит до того что бы отладить приложение, народ пасует — производителям сред разработки так нужно было посадить программеров на свои среды и отладчики, что они таки добились… того что люди не только боятся коммандной строки — они не знают и не разбираются и не хотят разбираться, как отлаживается приложения запущенные не из под коммандной строки. А ведь всё очень просто запускаем приложение так:
env MAVEN_OPTS="-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:8000" mvn -Dexec.mainClass=zy.alex.uluru.donothingapplication.Main exec:java

Сочувствую если у вас не Linux :) то тогда просто сделайет set для MAVEN_OPTS в cmd.exe
получить вы должны что то вроде этого:

ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
Aborted (core dumped)

это по тому что мы предварительно не запустили локальное приложение, которое будет слушать на порту 8000 и предоставлять среду для отладки

в NetBeans это достигается Debug > Attach Debugger

В Eclipse это достигается Run > Debug Configurations > Remote Java Application

Ну а дальше все просто, стоит только отметить то, что для того что бы поставить break point необходимы исходники, в NetBeans придётся закачать все исходники которые вам необходимы и засунуть в один проект, в этом плане Eclipse значительно удобнее.


Надо бы разобраться как создать сервис в Fedora для Tomcat

January 25, 2010

Вот нашел.

http://de0ris.blogspot.com/2008/08/installing-tomcat-6x-on-centos-5.html

Но я хочу сделать чере jsvc как советует apache.
Да вот что то получается что через панель управления сервис не управляется…


Siemens Gigaset SL375 и Plantronics Voyager 855, “Код да Винчи” отдыхает

October 16, 2009

Как и обещал пишу что же кривого в SL375 с Bluetooth.
И так по порядку.
Сопряжение гарнитуры MHB-301 (InterStep) прошло нормально. Но вот что открылось, несмотря на то что кнопка на гарнитуре должна набирать предыдущий номер или поднять трубку одним нажатием, в реальности надо нажимать 4! и 2! раза. Инженеры накосячили по полной программе! Оказаывается когда нажимаешь кнопку на телефон посылается сигнал, по-хорошему телефон сразу должен набирать предыдущий номер. Но нет! Ничего не происходит, или почти ничего, но в гарнитуре раздаётся мелодия входящего звонка! Вы нажимаете кнопку гарнитуры (2-ой раз), и, о чудо!, на экране появляется последний набранный номер, но не набирается ;) Дальше интереснее! Нажимаем кнопку 3-й раз, и… ничего не происходит но в динамике гарнитуры раздаётся мелодия входящего звонка. Ну конечно же надо нажать кнопку в 4-й раз, что бы принять этот эффемерный звонок, тут-то и случается то самое чудо — телефон начинает набирать номер за что ему и спасибо! Неправда-ли, весьма своеобразная трактовка сигнала “повторить звонок” инженерами Gigaset? Дальше интереснее хотите вы просто поднять трубку перевести гудок на гарнитуру и набрать номер, давайте попробуем: держим зеленую кнопку на телефоне пока не раздасться гудок, нажимаем кнопку гарнитуры… Да-да-да и тут в гарнитуре раздаётся знакомая мелодия вызова — нажимает кнопку еще раз и получаем гудок в гарнитуре, уф… можно набирать номер. :)
Вы скажите а может надо было двойным нажатием поднимать трубку и т.п. … Да нет, именно так как я описал — а двойное нажатие в гарнитуре означает голосовой вызов и так как его в телефоне нет то это ни к чему хорошему не приведёт!
Но всё это я узнал после того как разгадал загадку подключения гарнитуры Plantronics Voyager 855 к этой трубке. Поиск устройств, PIN 0000, всё по класике, но ерунда получается телефон никак не реагирует на нажатия кнопок на гарнитуре, хотя оба демонстрируют, что они подключены. Долго мучался, но в конце концов позвонил с мобильного на DECT — ответил на звонок одним нажатием на кнопку и всё… после этого телефон стал реагировать на гарнитуру таким образом как описано сверху…
А так как я сначала подключил 855-ую к SL375, то разгадка этой серии косяков напомнила мне белый и черный криптексы из “Кода да Винчи”, кто тут накосячил Plantronics или Siemens даже затрудняюсь ответить.
XXI век и устройства одаривают нас всё новыми косяками и гораздо более косякастыми косяками…
Если кому поможет сей опус — поставте галочку в коментариях — а если знаете как где и что перешить, то буду премного благодарен!


Заменил Siemens Gigaset SL780 на Siemens SL375

October 12, 2009

Замучался бороться с Bluetooth для SL780, просто спросил в интернет магазине где они обитают физически, поехал и попросил проверить другую Bluetooh и другую модель. Позвонив с помощью SL375 через тестовую линию у них на точке в Ждановичах, я сразу понял что вся лапша науши (что нормально Bluetooth у меня работал на SL780) моментально снялась. Короче SL375 я и взял, еще и rebate получил (45 USD).
У SL375 Bluetooth конечно же сделан не идеально, а я бы даже сказал что и криво (даже снятие трубки сделано не стандартно, об этом в отдельно посте), но для проводного телефона эти все кривости это ерунда — когда звонок растягивается на часы — можно потратить и пару секунд на возню с Bluetooth.
Итог Plantronics 855 + SL375 == кристальное качество звука. Так и должен звучать телефон от Siemens.


Siemens Gigaset SL780 продолжение

October 8, 2009

вот натолкнулся на интересную вещь:

цитата:Вот коды телефона S88 (S81).

Кто не знает после кода жать зелёную кнопку.

Ранее известные:

*#06# IMEI ->ну это знают все;
*#300# info ->версия прошивы и т.п.;
*#301# manual test ->тесты телефона;

Новые:

*#302*20040615# и сразу зелёную кнопку!! ->активирует дополнительные коды (там просто будет запрос).

Дополнительные коды:

*#302# acoustic ->редактор громкости;
*#303# reset language ->сброс языка на английский;
*#306# query textlabel ->сдесь весь перевод;
*#307# engineering mode ->инфа;
*#309# bluetooth test ->тест зуба;
*#400# adc info ->инфа;
*#402# display info ->проверка яркости, контраста, и т.п.;
*#403# info ->инфа;
*#404# lcm ->опять дисплей;
*#501# life cycle data ->жизнь телефона, ну тип скока прожил;
*#502# хз стоит и всё ->кажется что повис, жми красную;
*#503# орёт выключается дрожит ->помогает только аккумулятор вынуть;
*#837# info ->почти то же что и *#300#.

Стандартные значения (по умолчанию) acoustic!!!!
Handheld:
1) -5
2) -12
3) -23
4) все нули

Headseat:
1)3
2)-4
3)-26
4) все нули

Handsfree
эта опция для блютуз гарнитуры.
Receiver Vol.
-23

Увеличение в 1,5 – 2 раза громкость динамика (разговорного).
Заходим в Handheld потом Receiver Gain ставим 3 или можно 6 (по умолчанию стоит -3), фонить не должно!

с форума http://forum.siemens-club.ru/viewtopic.php?TopicID=65794&page=12#529465

вот подозреваю что у меня в Siemens прошита какая гадость в Receiver Vol. для гарнитуры…
несомненно есть такое меню и для SL780 но как туда попасть вот в чем вопрос!


Siemens Gigaset SL780

October 7, 2009

Работал у нас старый Gigaset 4010 и не жужал. Ну как не жужал — вообще говоря свой расчетный срок службы телефон давно уже отслужил и отработал 6 лет и пару месяцев. За это время износлись контакты зарядки, и в зарядном стакане не базе телефон приходилось “усаживать” до тех пор пока не раздасться заветное “пик-пик”, означающее: “Жру, отойди на цыпочках, а то контакт отойдет и придётся тебе опять колдовать”. Года 3 назад купил за 20 000 рублей у колеги базу Gigaset 4015 (а его трубка была сломана) с той лишь целью что бы повесить её над входной дверью, и там же подключить к телефоной сети и ликвидироввать таки надоевшую и доставшую проводку через пол квартиры. Старая база служила зарядкой (не переставая вещать в DECT диапазоне). Вообщем всё хорошо было. Но нехватало гарнитуры: 4010 не предполагал подключения оной. Было решено купить новейший DECT телефон с поддержкой Bluetooth, эко режимом и прочими радостями жизни. Выбор пал на Siemens SL780 основываясь на отзыве Экслера и mobile-review.

Каково же было моё разочарование, когда аппарат который я купил показал плохую характеристику микрофона — собеседники жаловались на худщий звук — соединение 3 трубками на одну базу показало что с аппаратом что-то не то — он звучал хуже чем два старых Gigaset’a. При подключении Bluetooth гарнитуры звук был совсем вах и при соединении через базу и через телефонную сеть. На той стороне жаловались на исключительно тихий звук. Перебор большого числа гарнитур ничего не дал — звук по громкости слегка ваировался. Аппарат был сдан продавцу в обмен на новый такой же аппарат. Новый аппарат проблем с микрофоном уже неимел с него слышно так же как с добрых старых Gigaset’ов. Но звук с гарнитуры тих. Значительно тише чем через встроеный микрофон и не зависимо от шумности помщения и т.п.
Вообще у меня родилось страшное подозрение, а именно: цифровой сигнал с Bluetooth гарнитуры преобразуется в аналоговый, и затем этот сигнал преобразуется в цифровой сигнал DECT. Скорее всего используется тот же каскад что и преобразует звук с микрофона. Страшное это подозрение вот почему: вместо прямого преобразования цифры Bluetooth в цифру DECT сделана халтура, просто халтура… возможно что с целью съэкономить или ускорить разработку продукта (хотя какие еще другие цели могут быть кроме баблоса), а во-вторых что-то в этом аналоговом каскаде нахимичили и что-то где-то недоусили, результат — трубка просто добротно и красиво сделанный DECT телефон в котором по сути НЕТУ функции Bluetooth, а значит ничем особенным он не лучше старого доброго Gigaset 4010 и я просто выкинул деньги. (Ну а в том аппарате который был бракованый, bluetooth тоже был тише чем родной микрофон).
При этом мне совершенно не понятно каким таким образом Экслер и mobile-review тестировали телефон. Похоже никто из них просто не удосужился проверить Bluetooth полностью: подсоеденилась гарнитура — OK, что-то там слышно — тоже OK, и всё… Обидно — никому нельзя верить. Что делать с телефоном тоже не понятно :( — просто красивая штучка.


Just reincarnate Plexus Compiler Component

July 9, 2009

Well I haven’t paid any attention to the project since 2008-Feb (shame on me!). But now I fixed it to support final released version of JavaFX 1.2 (which, thanks God, is available for Linux either).
I filled for Maven Central repository, so if everything is OK, it would be possible to build without references on the repository at sourceforge.net.


Just incubated an alfa version of Plexus Compiler Component for javafxc on Sourceforge

February 11, 2008

It allows to build Java FX code with Maven 2.
Take a look M2-javafxc project
It may not be considered as a full-featured version. But it working :) Use but not abuse!


Just have requested a room to commit Maven plugin in OpenJFX

February 6, 2008

Well, actually there is also some issues…
It is an actually implementation of Plexus Compiler API for JavaFX. This is very easy to get it working (will just require to have some more params specific to JavaFX). I just “forked” from JavacCompiler of Plexus.
But what about license? Plexus code is under MIT and Apache licenses, while OpenJFX is under GNU. Could it actually survive?
It would be good to have artifact repository with all versions of compiler, runtime and Scenegraph. Where? Again how licenses should be managed?
Minor: what version, artifactId and groupId should OpenJFX *.jar get? It is slightly more than just a naming convention…

the request

Date: Wed, 06 Feb 2008 15:32:33 +0200
From: Alexander Zynevich <zynevich@mail.ru>
Content-Type: text/plain; char set=ISO-8859-1; format=flowed
Subject: Java FX with Maven and Ant

Tom,
	playing with Maven a bit I have found that it is quite easy to add one
more "JavaC"-like compiler component to Maven, and I wrote one. It is
very draft, but working. I could contribute. Is it acceptable to have it
somewhere within openjfx.dev.java.net site? Say, as a subproject  of
openjfx, sibling of openjfx-compiler? I mean if I submit
request-for-proj, d'you approve? :) 

PS: for those who are interesting in Maven-javafxc:
POM will looks like:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>net.java.dev.openjfx</groupId>
   <artifactId>testjfx</artifactId>
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>testjfx</name>
   <url>http://maven.apache.org</url>
   <dependencies>
     <dependency>
       <groupId>net.java.dev.openjfx</groupId>
       <artifactId>javafxrt</artifactId>
       <version>1.0-SNAPSHOT</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
   <build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <configuration>
                   <compilerId>javafxc</compilerId>
                   <include>**/*.fx</include>
               </configuration>
               <dependencies>
                   <dependency>
                       <groupId>net.java.dev.openjfx</groupId>
                       <artifactId>openjfx-compiler-javafxc</artifactId>
                       <version>1.0-SNAPSHOT</version>
                   </dependency>
               </dependencies>
           </plugin>
       </plugins>
   </build>
</project>

output when building from NB6.0:
WARNING: You are running Maven builds externally, some UI functionality
will not be available.
Executing:/usr/share/apache-maven-2.0.8/bin/mvn --errors clean install
+ Error stacktraces are turned on.
Scanning for projects...
------------------------------------------------------------------------
Building testjfx
    task-segment: [clean, install]
------------------------------------------------------------------------
Deleting directory /home/alex/NetBeansProjects/testjfx/target
Using default encoding to copy filtered resources.
Downloading: 

http://people.apache.org/repo/m2-snapshot-repository/net/java/dev/openjfx/javafxc/1.0-SNAPSHOT/javafxc-1.0-SNAPSHOT.pom

Compiling 2 source files to
/home/alex/NetBeansProjects/testjfx/target/classes
Using default encoding to copy filtered resources.
Nothing to compile - all classes are up to date
No tests to run.
Building jar:
/home/alex/NetBeansProjects/testjfx/target/testjfx-1.0-SNAPSHOT.jar
Installing
/home/alex/NetBeansProjects/testjfx/target/testjfx-1.0-SNAPSHOT.jar to
/home/alex/.m2/repository/net/java/dev/openjfx/testjfx/1.0-SNAPSHOT/testjfx-1.0-SNAPSHOT.jar
------------------------------------------------------------------------
BUILD SUCCESSFUL
------------------------------------------------------------------------
Total time: 7 seconds
Finished at: Wed Feb 06 15:23:57 EET 2008
Final Memory: 23M/41M
------------------------------------------------------------------------

Tom Ball wrote:
> Peter Pilgrim wrote:
>>> The task is as much like the javac Ant task as practical.  When using in
>>> your own projects, be sure to specify the bootclasspath argument
>>> (especially on Macs) as we are using new versions of javac than what's
>>> released.
>>
>> Therefore it should be runnable from Maven as a `maven-antrun-plugin'
>> with some pushing.
>
> Good to know -- this answer probably belongs in an FAQ somewhere.
>
>>> Any improvements and other suggestions are appreciated, as none of us
>>> claim to be Ant experts -- we're just Ant users like most other Java
>>> developers.
>>
>> Neither am I an Ant or Maven expert. Thanks for your input.
>> Do you have an opinion on separate source code and classes folders?
>> The maven standard is to use (at least for Java is):
>>
>> <YOUR-PROJECT>/src/main/java
>>
>> which appears in <YOUR-PROJECT>/target/classes
>>
>> For Unit testing it follows a similar pattern
>>
>> <YOUR-PROJECT>/src/test/java
>>
>> which appears in <YOUR-PROJECT>/target/test-classes
>>
>> Would you mix JavaFX and Java code together or would you encourage
>> separate source folder for each language.
>>
>> <YOUR-PROJECT>/src/main/javafx
>> which appears in <YOUR-PROJECT>/target/classes
>
> Personally, I prefer keeping all build artifacts separate from the
> project source, so that full cleanup involves just deleting one or more
> generated directories such as build, dist, etc.  The compiler is
> currently following the naming conventions of the javac team so we can
> more easily work together, but other projects should be free to follow
> Maven, Eclipse, NetBeans, or any other naming convention that makes
> sense for that project.
>
> I think JavaFX Script, Java, Jython, JRuby, and any other JVM compiled
> language should be grouped by functionality rather than language, so
> everything that belongs in one package shouDate: Wed, 06 Feb 2008 15:32:33 +0200
From: Alexander Zynevich <zynevich@mail.ru>
Content-Type: text/plain; char set=ISO-8859-1; format=flowed
Subject: Java FX with Maven and Ant

Tom,
	playing with Maven a bit I have found that it is quite easy to add one
more "JavaC"-like compiler component to Maven, and I wrote one. It is
very draft, but working. I could contribute. Is it acceptable to have it
somewhere within openjfx.dev.java.net site? Say, as a subproject  of
openjfx, sibling of openjfx-compiler? I mean if I submit
request-for-proj, d'you approve? :) 

PS: for those who are interesting in Maven-javafxc:
POM will looks like:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>net.java.dev.openjfx</groupId>
   <artifactId>testjfx</artifactId>
   <packaging>jar</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>testjfx</name>
   <url>http://maven.apache.org</url>
   <dependencies>
     <dependency>
       <groupId>net.java.dev.openjfx</groupId>
       <artifactId>javafxrt</artifactId>
       <version>1.0-SNAPSHOT</version>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
   <build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <configuration>
                   <compilerId>javafxc</compilerId>
                   <include>**/*.fx</include>
               </configuration>
               <dependencies>
                   <dependency>
                       <groupId>net.java.dev.openjfx</groupId>
                       <artifactId>openjfx-compiler-javafxc</artifactId>
                       <version>1.0-SNAPSHOT</version>
                   </dependency>
               </dependencies>
           </plugin>
       </plugins>
   </build>
</project>

output when building from NB6.0:
WARNING: You are running Maven builds externally, some UI functionality
will not be available.
Executing:/usr/share/apache-maven-2.0.8/bin/mvn --errors clean install
+ Error stacktraces are turned on.
Scanning for projects...
------------------------------------------------------------------------
Building testjfx
    task-segment: [clean, install]
------------------------------------------------------------------------
Deleting directory /home/alex/NetBeansProjects/testjfx/target
Using default encoding to copy filtered resources.
Downloading: 

http://people.apache.org/repo/m2-snapshot-repository/net/java/dev/openjfx/javafxc/1.0-SNAPSHOT/javafxc-1.0-SNAPSHOT.pom

Compiling 2 source files to
/home/alex/NetBeansProjects/testjfx/target/classes
Using default encoding to copy filtered resources.
Nothing to compile - all classes are up to date
No tests to run.
Building jar:
/home/alex/NetBeansProjects/testjfx/target/testjfx-1.0-SNAPSHOT.jar
Installing
/home/alex/NetBeansProjects/testjfx/target/testjfx-1.0-SNAPSHOT.jar to
/home/alex/.m2/repository/net/java/dev/openjfx/testjfx/1.0-SNAPSHOT/testjfx-1.0-SNAPSHOT.jar
------------------------------------------------------------------------
BUILD SUCCESSFUL
------------------------------------------------------------------------
Total time: 7 seconds
Finished at: Wed Feb 06 15:23:57 EET 2008
Final Memory: 23M/41M
------------------------------------------------------------------------

Tom Ball wrote:
> Peter Pilgrim wrote:
>>> The task is as much like the javac Ant task as practical.  When using in
>>> your own projects, be sure to specify the bootclasspath argument
>>> (especially on Macs) as we are using new versions of javac than what's
>>> released.
>>
>> Therefore it should be runnable from Maven as a `maven-antrun-plugin'
>> with some pushing.
>
> Good to know -- this answer probably belongs in an FAQ somewhere.
>
>>> Any improvements and other suggestions are appreciated, as none of us
>>> claim to be Ant experts -- we're just Ant users like most other Java
>>> developers.
>>
>> Neither am I an Ant or Maven expert. Thanks for your input.
>> Do you have an opinion on separate source code and classes folders?
>> The maven standard is to use (at least for Java is):
>>
>> <YOUR-PROJECT>/src/main/java
>>
>> which appears in <YOUR-PROJECT>/target/classes
>>
>> For Unit testing it follows a similar pattern
>>
>> <YOUR-PROJECT>/src/test/java
>>
>> which appears in <YOUR-PROJECT>/target/test-classes
>>
>> Would you mix JavaFX and Java code together or would you encourage
>> separate source folder for each language.
>>
>> <YOUR-PROJECT>/src/main/javafx
>> which appears in <YOUR-PROJECT>/target/classes
>
> Personally, I prefer keeping all build artifacts separate from the
> project source, so that full cleanup involves just deleting one or more
> generated directories such as build, dist, etc.  The compiler is
> currently following the naming conventions of the javac team so we can
> more easily work together, but other projects should be free to follow
> Maven, Eclipse, NetBeans, or any other naming convention that makes
> sense for that project.
>
> I think JavaFX Script, Java, Jython, JRuby, and any other JVM compiled
> language should be grouped by functionality rather than language, so
> everything that belongs in one package should reside in one directory.
> If the tools can't figure out the difference between those file types,
> then the tools need to be improved, but happily all I've tried seem to
> work fine.  Again, that's just my personal opinion, as teams should
> define the conventions that make sense in their context.
>
> Tom
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@openjfx.dev.java.net
> For additional commands, e-mail: users-help@openjfx.dev.java.net
>
> 

ld reside in one directory.
> If the tools can't figure out the difference between those file types,
> then the tools need to be improved, but happily all I've tried seem to
> work fine.  Again, that's just my personal opinion, as teams should
> define the conventions that make sense in their context.
>
> Tom
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@openjfx.dev.java.net
> For additional commands, e-mail: users-help@openjfx.dev.java.net
>
> 

Yet Another Maven plugin for Eclipse

January 21, 2008

A friend of mine found http://code.google.com/p/q4e/
looks like it is an alternative to famous http://m2eclipse.codehaus.org/ .
However we failed to run it :) on Eclipse 3.3.1.x and have no time for experiments.