Here's what I tested on karaf-docker-example-static:
- remove reference to karaf-docker-example-app feature in pom.xml
<dependencies/>
- keep only the static-fraemwork feature like this:
<configuration>
<startupFeatures>
<startupFeature>static-framework</startupFeature>
</startupFeatures>
<framework>static</framework>
<useReferenceUrls>true</useReferenceUrls>
<environment>static</environment>
</configuration>
- build with mvn clean install
- run with: target/assembly/bin/karaf run
It works fine. Tested with both JDK8 and JDK11.
Regards
JB
On 12/09/2019 14:12, Alex Soto wrote:
> Anybody have any experience in this area?
>
> My goal is produce a static distribution first, then Docker to deploy my
> application in the Cloud. So far, I failed at the very first step the
> "static approach".
> I am following direction from this blog entry
> http://blog.nanthrax.net/?p=893 with the difference that my application
> /features.xml/ is hand made, not generated.
> Any help will be appreciated.
>
> Best regards,
> Alex soto
>
>
>
>
>> On Sep 10, 2019, at 2:06 PM, Alex Soto <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Comparing features “framework" and "static-framework" I noticed that
>> "static-framework" feature does not add service mix activation API
>> bundle, while “framework” does.
>>
>>
>> <featureversion="${project.version}"description="Karaf core
>> feature"name="framework"hidden="true">
>> <!-- persistent wiring extension -->
>> <bundle
>> start-level="1">mvn:org.apache.karaf.features/org.apache.karaf.features.extension/${project.version}</bundle>
>> <!-- mvn: and wrap: url handlers -->
>> <bundle
>> start-level="5">mvn:org.ops4j.pax.url/pax-url-aether/${pax.url.version}</bundle>
>> <!-- logging -->
>> <bundle
>> start-level="8">mvn:org.ops4j.pax.logging/pax-logging-api/${pax.logging.version}</bundle>
>> <bundle
>> start-level="8">mvn:org.ops4j.pax.logging/pax-logging-log4j2/${pax.logging.version}</bundle>
>> <bundle
>> start-level="8">mvn:org.fusesource.jansi/jansi/${jansi.version}</bundle>
>> <!-- config admin -->
>> <bundle
>> start-level="9">mvn:org.apache.felix/org.apache.felix.coordinator/${felix.coordinator.version}</bundle>
>> <bundle
>> start-level="10">mvn:org.apache.felix/org.apache.felix.configadmin/${felix.configadmin.version}</bundle>
>> <!-- file install -->
>> <bundle
>> start-level="11">mvn:org.apache.felix/org.apache.felix.fileinstall/${felix.fileinstall.version}</bundle>
>> <!-- features service -->
>> <bundle
>> start-level="15">mvn:org.apache.karaf.features/org.apache.karaf.features.core/${project.version}</bundle>
>> <bundle dependency="true"
>> start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxb-api-2.2/${servicemix-spec.version}</bundle>
>>
>> <bundle dependency="true"
>> start-level="30">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.activation-api-1.1/${servicemix-spec.version}</bundle>
>> </feature>
>>
>> <featureversion="${project.version}"description="Karaf core
>> feature"name="static-framework">
>> <!-- logging -->
>> <bundle start="true"
>> start-level="8">mvn:org.ops4j.pax.logging/pax-logging-api/${pax.logging.version}</bundle>
>> <bundle start="true"
>> start-level="8">mvn:org.ops4j.pax.logging/pax-logging-log4j2/${pax.logging.version}</bundle>
>> <bundle start="true"
>> start-level="8">mvn:org.fusesource.jansi/jansi/${jansi.version}</bundle>
>> <!-- static config admin -->
>> <bundle start="true"
>> start-level="10">mvn:org.apache.karaf.services/org.apache.karaf.services.staticcm/${project.version}</bundle>
>> </feature>
>>
>> Could this be a bug? Should “static-framework” also add Activation API
>> bundle?
>>
>> Best regards,
>> Alex soto
>>
>>
>>
>>
>>> On Sep 9, 2019, at 3:40 PM, Alex Soto <[email protected]
>>> <mailto:[email protected]>> wrote:
>>>
>>> Oracle’s JDK 1.8 Java 8 Update 171
>>>
>>> Best regards,
>>> Alex soto
>>>
>>>
>>>
>>>
>>>> On Sep 9, 2019, at 3:34 PM, Francois Papon
>>>> <[email protected] <mailto:[email protected]>>
>>>> wrote:
>>>>
>>>> Hi Alex,
>>>>
>>>> Wich JDK are you using when building the custom distribution?
>>>>
>>>> regards,
>>>>
>>>> François
>>>> [email protected]
>>>> Le 09/09/2019 à 19:05, Alex Soto a écrit :
>>>>> Hello,
>>>>>
>>>>> I am trying to build a custom distribution using karaf-maven-plugin
>>>>> with Karaf version 4.2.6. To keep it to a minus, I have removed my
>>>>> feature, leaving only the following:
>>>>>
>>>>> <startupFeatures>
>>>>> <feature>static-framework</feature>
>>>>> </startupFeatures>
>>>>> <javase>1.8</javase>
>>>>> <framework>static</framework>
>>>>> <useReferenceUrls>true</useReferenceUrls>
>>>>> <environment>static</environment>
>>>>>
>>>>> Still, I get the following error:
>>>>>
>>>>> Unable to build assembly: Unable to resolve root: missing
>>>>> requirement [root] osgi.identity; osgi.identity=static-framework;
>>>>> type=karaf.feature; version=4.2.6;
>>>>> filter:="(&(osgi.identity=static-framework)(type=karaf.feature)(version>=4.2.6))"
>>>>> [caused by: Unable to resolve static-framework/4.2.6: missing
>>>>> requirement [static-framework/4.2.6]
>>>>> osgi.identity; osgi.identity=org.ops4j.pax.logging.pax-logging-log4j2;
>>>>> type=osgi.bundle; version="[1.10.2,1.10.2]"; resolution:=mandatory
>>>>> [caused by: Unable to
>>>>> resolve org.ops4j.pax.logging.pax-logging-log4j2/1.10.2: missing
>>>>> requirement [org.ops4j.pax.logging.pax-logging-log4j2/1.10.2]
>>>>> osgi.wiring.package; filter:="(osgi.wiring.package=javax.activation)”]]
>>>>>
>>>>>
>>>>>
>>>>> What am I missing?
>>>>>
>>>>>
>>>>> Best regards,
>>>>> Alex soto
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>
>
--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com