I may have to try it that way. I'm using 4.0.6 as well.  The profiles is
really using the karaf maven plugin under the covers and creating a set of
standard profiles.  At least that's the intent of it. It was when I
stumbled on this that I decided that this might be the thing to look at for
the future.  It actually works fairly well and after installing the
standard profiles I then have my application specific profile and a
features file associated with it.

http://karaf.922171.n3.nabble.com/HEADS-UP-Profiles-and-static-distributions-td4037132.html

On Tue, Sep 13, 2016 at 12:53 PM, Benson Margulies <bimargul...@gmail.com>
wrote:

>
>
> On Tue, Sep 13, 2016 at 12:53 PM, Brad Johnson <
> brad.john...@mediadriver.com> wrote:
>
>> I think the profiles mechanics are from karaf 4(?)  In any case it allows
>> you to create greatly slimmed down version of karaf with the required
>> bundles already installed so one doesn't have to manually run features
>> installs from the shell. Just fire it up and everything is there.  The
>> project I'm working on right now has CXF, PAX-CDI, Camel (cdi, blueprint,
>> etc.) When I'm done it runs anywhere from 30MB to 50MB for a self-contained
>> application.  There's a good reason to do that right now in what I'm
>> working  on. While I'm making a larger application where the pieces will be
>> split between different installs at different locations, I'm creating this
>> self-contained "developer's" edition so anyone who wants to work with APIs
>> can and it will react pretty much as it would if he production version is
>> installed.
>>
>
> I use Karaf 4.0.6.
>
> I have only a minimal set of bundles. I build several variations with
> different things included.
>
> I do it pretty easily with the karaf-maven-plugin making an assembly.
>
> Java8 works.
>
>
>
>>
>> After a bit of fiddling to learn it it's pretty straightfoward and a
>> great mechanism.  I could see using it to create microservices based on
>> bundles and relevant parts of the various libraries.
>>
>> https://github.com/apache/karaf/tree/master/demos/profiles
>>
>> Brad
>>
>> On Tue, Sep 13, 2016 at 5:45 AM, Benson Margulies <bimargul...@gmail.com>
>> wrote:
>>
>>> I've never used Karaf profiles. I use the karaf-maven-plugin to make
>>> assemblies, and I add that notation to the configuration, and I use java8
>>> and all is well.
>>>
>>>
>>> On Mon, Sep 12, 2016 at 11:26 PM, Brad Johnson <
>>> brad.john...@mediadriver.com> wrote:
>>>
>>>>     <parent>
>>>>         <groupId>org.apache.karaf</groupId>
>>>>         <artifactId>karaf</artifactId>
>>>>         <version>4.0.6</version>
>>>>         <relativePath>../../pom.xml</relativePath>
>>>>     </parent>
>>>>
>>>> If I brought that down and modified it locally that's the case.  But
>>>> what I'd prefer is to have some properties settings in my child POM that
>>>> could override the Java version (or other aspects as well.)  But the karaf
>>>> profile/static registry mechanism is really just pulling a zipped copy of
>>>> karaf and then running through a bunch of profiles and installing the
>>>> specified content including my features file.
>>>>
>>>> When I changed my project to use 1.7 it works.  Fortunately I'm early
>>>> in the process so there are only a few lambdas (mainly in test) that I had
>>>> to modify to get this to run right.  Right now I'm not too concerned about
>>>> it as I have some other details to work out.  With the blueprint version
>>>> working I want to go back to the CDI version and get that working as well.
>>>>
>>>> Then I can worry about changing the branding package and name of the
>>>> zip file and other items.
>>>>
>>>> Brad
>>>>
>>>> On Mon, Sep 12, 2016 at 7:59 PM, Benson Margulies <
>>>> bimargul...@gmail.com> wrote:
>>>>
>>>>> Are you sure you don't just need:
>>>>>
>>>>>                         <javase>1.8</javase>
>>>>>
>>>>> in your <configuration/> of the karaf-maven-plugin?
>>>>>
>>>>>
>>>>> On Mon, Sep 12, 2016 at 5:16 PM, Brad Johnson <
>>>>> brad.john...@mediadriver.com> wrote:
>>>>>
>>>>>> Last night I was trying to use the new Camel 2.17.3 CDI with pax-cdi
>>>>>> in the karaf registry/static profile mechanism in 4.0.6 that permits
>>>>>> creating small subsets of functionality and zipping them up. I've tried 
>>>>>> it
>>>>>> before with good success and figured the problems I was having were 
>>>>>> related
>>>>>> to my features and profile set up.
>>>>>>
>>>>>> After some fiddling getting the Camel profile pointed to the right
>>>>>> and adding in the camel-cdi in the profile's feature list and debugging 
>>>>>> my
>>>>>> features file I kept getting hung up right at the last minute.  Even with
>>>>>> debugging it didn't make much sense to me.
>>>>>>
>>>>>> So I switched over to blueprint quickly to see how that would work
>>>>>> and I ran into the same error.  Finally I took a harder look and realized
>>>>>> it was complaining about not being able to find Java 1.8 required by the
>>>>>> bundle.
>>>>>>
>>>>>> My IDE is set to that but it appears that the Java version is hard
>>>>>> coded in the org.apache.karaf/karaf/4.0.6 file and unsettable by the
>>>>>> child projects. I'm not sure I'd call that a bug exactly but it appears
>>>>>> that I'll either have to set my compiler preferences back to 1.7 for my
>>>>>> project or download the karaf 4.0.6 and recompile or override the maven
>>>>>> plugins in the lower level projects.
>>>>>>
>>>>>> Seems like that should be settable at a lower  level. Java 1.7 is
>>>>>> getting somewhat long in the tooth and it's a shame to have to retreat 
>>>>>> back
>>>>>> to an earlier compiler version.  I can't be 100% sure but after debugging
>>>>>> and getting rid of any other errors, I hit this.
>>>>>>
>>>>>>  Unable to build assembly: Unable to resolve root: missing
>>>>>> requirement [root] osgi.identity; osgi.identity=development-all;
>>>>>> type=karaf.feature; filter:="(&(osgi.identity=deve
>>>>>> lopment-all)(type=karaf.feature))" [caused by: Unable to resolve
>>>>>> panda-development-all/0.0.1.SNAPSHOT: missing requirement
>>>>>> [development-all/0.0.1.SNAPSHOT] osgi.identity;
>>>>>> osgi.identity=commons; type=osgi.bundle; 
>>>>>> version="[0.0.1.SNAPSHOT,0.0.1.SNAPSHOT]";
>>>>>> resolution:=mandatory [caused by: Unable to resolve 
>>>>>> commons/0.0.1.SNAPSHOT:
>>>>>> missing requirement [commons/0.0.1.SNAPSHOT] osgi.ee; filter:="(&(
>>>>>> osgi.ee=JavaSE)(version=1.8))"]]
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to