felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rune Engseth <r...@engseth.net>
Subject Re: maven-bundle-plugin : Class in different directory than declared
Date Wed, 04 Apr 2012 12:05:14 GMT

Yes, the configuration is there to recreate the original manifest props. 

I now tried to remove all unnecessary configuration, relying on defaults.

However, even this simple config causes the error, so the main offender clearly is Embed-Dependency

<instructions>
                        <Embed-Dependency>verticalsite</Embed-Dependency>
</instructions>

Artifactid "verticalsite" refers to the first dependency in the deps list.


regards


Den 4. apr. 2012 kl. 13:40 skrev Robert Munteanu:

> 
> 
>> -----Original Message-----
>> From: Rune Engseth [mailto:rune@engseth.net]
>> Sent: Wednesday, April 04, 2012 2:32 PM
>> To: users@felix.apache.org
>> Subject: Re: maven-bundle-plugin : Class in different directory than
>> declared
>> 
>> Thanks, that resolved my first problem
>> 
>> However, the "Class in different directory than declared" still occurs
>> 
>> My refactored pom.xml now looks like
> 
> (snip)
> 
> You seem to have a lot of configuration items compared to what I usually do to have a
bundle with an embedded jar.
> 
> This is what I recently used:
> 
> <configuration>
> 	<instructions>
> 		<Export-Package> com.example.package </Export-Package>
> 		<Private-Package> com.example.package.impl </Private-Package>
> 		<Import-Package> !com.sun.org.apache.xpath.*, * </Import-Package>
> 		<Embed-Dependency>com.example.embedded</Embed-Dependency>
> 	</instructions>
> </configuration>
> 
> Where com.example.embeded is the artifact id of the embedded jar. If you don't have that
publicly available you can just declare a system dependency.
> 
> Robert
> 
>> 
>> <project>
>> 
>>    <modelVersion>4.0.0</modelVersion>
>>    <groupId>no.company.tfim.plugin</groupId>
>>    <artifactId>groupsynch</artifactId>
>>    <packaging>bundle</packaging>
>>    <version>1.0.0</version>
>> 
>>    <properties>
>>        <tfim.version>6.2.1</tfim.version>
>>        <verticalsite.version>3.2-jar-with-
>> dependencies</verticalsite.version>
>>    </properties>
>> 
>>    <build>
>>        <plugins>
>>            <plugin>
>>                <groupId>org.apache.felix</groupId>
>>                <artifactId>maven-bundle-plugin</artifactId>
>>                <version>2.3.7</version>
>>                <extensions>true</extensions>
>>                <configuration>
>>                    <archive>
>>                        <addMavenDescriptor>false</addMavenDescriptor>
>>                    </archive>
>>                    <instructions>
>>                        <Embed-
>> Dependency>*;scope=compile;inline=false</Embed-Dependency>
>>                        <Include-Resource>{maven-resources}</Include-
>> Resource>
>>                        <Bundle-
>> SymbolicName>${project.groupId}.${project.artifactId};singleton:=true</
>> Bundle-SymbolicName>
>>                        <Bundle-Vendor>company</Bundle-Vendor>
>>                        <Bundle-Name>Groupsynch Plug-in</Bundle-Name>
>>                        <Bundle-Localization>plugin</Bundle-
>> Localization>
>>                        <Require-
>> Bundle>com.tivoli.am.fim.common,com.tivoli.am.fim.sts</Require-Bundle>
>>                        <Export-
>> Package>no.company.fim.plugin.vs.*</Export-Package>
>>                        <!--<_exportcontents></_exportcontents>-->
>>                        <Import-Package>!*</Import-Package>
>>                        <!--<Private-Package>*</Private-Package>-->
>>                        <Bundle-ClassPath>.,{maven-
>> dependencies}</Bundle-ClassPath>
>>                    </instructions>
>>                </configuration>
>>            </plugin>
>>        </plugins>
>> 
>>    </build>
>> 
>>    <dependencies>
>> 
>>        <dependency>
>>            <groupId>no.company</groupId>
>>            <artifactId>verticalsite</artifactId>
>>            <version>${verticalsite.version}</version>
>>            <scope>compile</scope>
>>        </dependency>
>> 
>>        <dependency>
>>            <groupId>com.tivoli.am.fim</groupId>
>>            <artifactId>common</artifactId>
>>            <version>${tfim.version}</version>
>>            <scope>provided</scope>
>>        </dependency>
>> 
>>        <dependency>
>>            <groupId>com.tivoli.am.fim</groupId>
>>            <artifactId>sts</artifactId>
>>            <version>${tfim.version}</version>
>>            <scope>provided</scope>
>>        </dependency>
>> 
>> 
>>    </dependencies>
>> 
>> 
>> </project>
>> 
>> 
>> Den 4. apr. 2012 kl. 13:16 skrev Robert Munteanu:
>> 
>>>> -----Original Message-----
>>>> Problem 1)
>>>> 
>>>> Reading the docs, I should use packaging "bundle". This does not
>> work,
>>>> and throws the following error
>>>> 
>>>> Unknown packaging: bundle @ line 12, column 16
>>>> 
>>>> I just switched to "jar", and it seems to work ok just the same,
>>>> manifest.mf is created with bundle props etc.
>>> 
>>> You need to add
>>> 
>>> <extensions>true</extensions>
>>> 
>>> to your maven-bundle-plugin <plugin> ... </plugin> block.
>>> 
>>> For performance reasons customisations such as new packaging types
>> are contributed on-demand by Maven plugins.
>>> 
>>> Robert
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Mime
View raw message