Yeah, that would have been the smart thing to do! Unfortunately that now failed 
since if I do something simple it works, even a war produces classes! 

I interpret this as a non backwards compatibility in the newest version since 
as I said if I got back to version 2.3.7 it all builds fine! It is far from 
obvious what is different, and what I need to do to be compatible with version 
2.4.0. 

/Tommy


20 jul 2013 kl. 21:14 skrev Stuart McCulloch <[email protected]>:

> Could you reduce this down to a test project that recreates the issue?
> 
> On 20 Jul 2013, at 19:57, Tommy Svensson wrote:
> 
>> Hello,
>> 
>> I have found some problems with maven-bundle-plugin version 2.4.0:
>> 
>> It keeps spitting out the following error:
>> 
>>      [ERROR] Bundle se.natusoft.osgi.aps:aps-apis:bundle:0.9.2 : The default 
>> package '.' is not permitted by the Import-Package syntax. 
>>      This can be caused by compile errors in Eclipse because Eclipse creates 
>>      valid class files regardless of compile errors.
>>      The following package(s) import from the default package null
>> 
>> My Import-Package looks like this:
>> 
>>      <Import-Package>*</Import-Package>
>> 
>> This works fine up to version 2.3.7. And no, I'm not using Eclipse. 
>> 
>> I got the source for the 2.4.0 version and realized that the error actually 
>> comes from bnd. I tried the following "fix":
>> __________________________________________________________________________________
>> 
>> protected boolean reportErrors( String prefix, Analyzer analyzer )
>> {
>>     List errors = analyzer.getErrors();
>>     List warnings = analyzer.getWarnings();
>> 
>>     for ( Iterator w = warnings.iterator(); w.hasNext(); )
>>     {
>>         String msg = ( String ) w.next();
>>         getLog().warn( prefix + " : " + msg );
>>     }
>> 
>>     boolean hasErrors = false;
>>     String fileNotFound = "Input file does not exist: ";
>>     for ( Iterator e = errors.iterator(); e.hasNext(); )
>>     {
>>         String msg = ( String ) e.next();
>>         if ( msg.startsWith( fileNotFound ) && msg.endsWith( "~" ) )
>>         {
>>             // treat as warning; this error happens when you have duplicate 
>> entries in Include-Resource
>>             String duplicate = Processor.removeDuplicateMarker( 
>> msg.substring( fileNotFound.length() ) );
>>             getLog().warn( prefix + " : Duplicate path '" + duplicate + "' 
>> in Include-Resource" );
>>         }
>>         // ---- MY ADDITION ----
>>         else if ( msg.contains("The default package '.'")) {
>>             getLog().warn( prefix + ":" + msg );
>>         }
>>         // -----------------------------
>>         else
>>         {
>>             getLog().error( prefix + " : " + msg );
>>             hasErrors = true;
>>         }
>>     }
>>     return hasErrors;
>> }
>> __________________________________________________________________________________
>> 
>> Then it builds and creates a perfectly fine jar. 
>> 
>> However when my build came to the war:s no classes are produced in 
>> target/classes and then maven-bundle-plugin/bnd complains about not finding 
>> the specified activator, which is then correct since no classes were 
>> produced! No compilation errors either. There is nothing wrong with the code 
>> being compiled. If I go down to version 2.3.7 of the plugin it compiles fine 
>> and produces classes. 
>> 
>> Unfortunately Java 1.7 is only supported by version 2.4.0. 
>> 
>> -- Tommy Svensson
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to