Hi Christian,

thanks for the advice. I've done this already and it works, but is
obviously not as convenient as using bndtools ;)
I thought that I could maybe use another IDE than Eclipse but without
bndtools the development is rather cumbersome :/
Bndtools adds so many awesome features that once you've used them you don't
want to miss them in another IDE ;)

But anyway, thanks for all your advices :)

Kind regards,
Thomas

Am Do., 31. Jan. 2019 um 18:17 Uhr schrieb Christian Schneider <
ch...@die-schneider.net>:

> What you can do is to export your project into a runnable jar using maven:
>
> https://github.com/cschneider/osgi-ds-hello-world/blob/master/starter/pom.xml#L117-L169
>
> So you simply do mvn clean package.
> After that you can start it using:
> java -jar <your jar>
>
> This is not as convenient as bndtools but still not bad.
>
> Christian
>
>
> Am Do., 31. Jan. 2019 um 18:03 Uhr schrieb Thomas Driessen via osgi-dev <
> osgi-dev@mail.osgi.org>:
>
>> Hi Tim,
>>
>> thanks for your answer and the link. I will have a look into it :)
>>
>> Is there any chance that something like a mvn bnd:run/debug command (like
>> mvn jetty:run) will be implemented in the future?
>> This would be great if a user doesn't want to use Eclipse as IDE :)
>>
>> Kind regards,
>> Thomas
>>
>> ------ Originalnachricht ------
>> Von: "Tim Ward" <tim.w...@paremus.com>
>> An: "Thomas Driessen" <thomas.driessen...@gmail.com>
>> Cc: "OSGi Developer Mail List" <osgi-dev@mail.osgi.org>
>> Gesendet: 31.01.2019 17:58:45
>> Betreff: Re: [osgi-dev] Move from bnd workspace to maven (enroute)
>> workspace
>>
>> Hi Thomas,
>>
>> The simple answer to your question is yes, however the more involved
>> answer is that you probably shouldn’t. If you want to read up on ways to
>> handle Maven dependency management then I can suggest looking at:
>>
>>
>> https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
>>
>> This will talk you through how dependencies can be inherited from the
>> parent directly (not usually a good idea), how versions of common
>> dependencies can be managed centrally in a parent (usually a good idea),
>> and how to construct a Bill Of Materials (BOM) which you can use as an easy
>> way to grab a bunch of dependencies in one go (much like OSGi enRoute does
>> with its indexes).
>>
>> As for running directly from the command line. There isn’t an enRoute or
>> bnd plugin for that, the smarts are all in Bndtools I’m afraid.
>>
>> Best Regards,
>>
>> Tim
>>
>> On 31 Jan 2019, at 16:09, Thomas Driessen <thomas.driessen...@gmail.com>
>> wrote:
>>
>> Hi Tim,
>>
>> just to clarify (I'm not really used to maven yet):
>>
>> If I want to define a dependency that is used by multiple sub modules,
>> then I MAY put this dependency in the root/parent pom. I also COULD put
>> this dependency in each of the sub module's poms which would have the same
>> effect as the aforementioned approach. I don't need to define the
>> dependecnies in both places.
>>
>> Is this correct?
>>
>>
>> Regarding the running and reloading of applications in bndtools: I don't
>> use Eclipse, therefore I asked if there are maven commands that mimc
>> bndtools' behavior ;)
>>
>>
>> Kind regards,
>> Thomas
>>
>> ------ Originalnachricht ------
>> Von: "Tim Ward" <tim.w...@paremus.com>
>> An: "Thomas Driessen" <thomas.driessen...@gmail.com>; "OSGi Developer
>> Mail List" <osgi-dev@mail.osgi.org>
>> Gesendet: 31.01.2019 16:48:54
>> Betreff: Re: [osgi-dev] Move from bnd workspace to maven (enroute)
>> workspace
>>
>> Hi
>>
>> On 31 Jan 2019, at 15:22, Thomas Driessen via osgi-dev <
>> osgi-dev@mail.osgi.org> wrote:
>>
>> Hi,
>>
>> I'm currently trying to get used to the new enroute maven workspace
>> layout and now have some questions :)
>>
>> 1)
>> In a bnd workspace I had the central.xml file where I put all the
>> dependencies I wanted in my local maven bnd worspace repository. Where do I
>> put those dependencies now in the maven project workspace? In the
>> dependencies section of the root pom or rather in the dependencies section
>> of a specific module pom?
>>
>>
>> In this case you treat your dependencies just like you would in Maven. If
>> the dependency is used across many modules then you might add it to the
>> dependencyManagement section of the parent pom (to manage the version in a
>> single place), but you will always reference a dependency in the module
>> using it. There is nothing special about this (it really is just vanilla
>> Maven).
>>
>>
>> 2)
>> In a bnd workspace I added the buildtime dependencies of a bundle to its
>> bnd file. What's the best practice now in a maven workspace? Do I add those
>> build time dependencies in the module pom?
>>
>>
>> Again, this is a normal Maven build that follows the same rules as all
>> the Maven examples you can find on the internet. Your module’s compile time
>> and runtime dependencies should be included in its pom, with the
>> appropriate scope.
>>
>>
>> 3)
>> In Eclipse with bndtools installed and when using a bnd workspace layout
>> I am able to press the debug button of a bndrun file and everything is
>> perfectly integrated in the IDE. Additionally, when I change code of
>> bundles that are currently running in an osgi framework, then those are
>> rebuilt and redeployed on the fly.
>>
>>
>> If you do the same thing in your enRoute workspace you’ll get the same
>> behaviour.
>>
>>
>> Is there a way to reproduce a similar behavior only with maven commands
>> and a remote debugger?
>>
>>
>> You can start your application with remote debug enabled (just using the
>> normal JVM debug arguments as you describe below) but I would recommend
>> that you just do the same launching that you’ve been doing from a bad
>> workspace.
>>
>>
>> Right now I'm following the enroute tutorial and every time I changed
>> something in the code I type the following commands:
>> 1 mvn -pl app -am bnd-indexer:index bnd-indexer:index@test-index
>> bnd-resolver:resolve package
>> 2 java -jar -Xdebug
>> -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
>> .\app\target\app.jar
>> 3 Then I start my remote debugger to attach to the jvm
>>
>> Are there other maven commands that would me allow to skip step 2 and 3?
>> Something like mvn jetty:run for web apps?
>>
>>
>> There isn’t a Maven command for it, but if you look at the Eclipse
>> version of the Running the Application
>> <https://enroute.osgi.org/tutorial/020-tutorial_qs.html#running-the-application>
>>  section
>> in the enRoute tutorials you can see how to run inside the IDE.
>>
>> Best Regards,
>>
>> Tim
>>
>>
>>
>> Kind regards,
>> Thomas
>>
>>
>> _______________________________________________
>> OSGi Developer Mail List
>> osgi-dev@mail.osgi.org
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>>
>>
>> _______________________________________________
>> OSGi Developer Mail List
>> osgi-dev@mail.osgi.org
>> https://mail.osgi.org/mailman/listinfo/osgi-dev
>
>
>
> --
> --
> Christian Schneider
> http://www.liquid-reality.de
>
> Computer Scientist
> http://www.adobe.com
>
>
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to