Ioan Eugen Stan created FTPSERVER-447:
-----------------------------------------
Summary: Bad OSGi exports for FTPServer
Key: FTPSERVER-447
URL: https://issues.apache.org/jira/browse/FTPSERVER-447
Project: FtpServer
Issue Type: Bug
Components: Server
Affects Versions: 1.0.6
Reporter: Ioan Eugen Stan
Pull request and patch available: https://github.com/apache/ftpserver/pull/1
I noticed that version 1.0.6 does not work well with OSGi because
1. it includes all the classes from ftplet-api
2. it does not export them in the manifests headers.
Detailed problem:
If you wish to implement your own versions of UserManager or other interfaces
and use them in OSGi, this requires adding the ftplet-api bundle. This results
in two versions of the same classes on the classpath. This makes custom
implementation of Ftpserver interfaces impossible.
I tried to build my own UserManger and User implementation to authenticate
against a DB via JPA. I could not do it because I got linkage errors since my
implementation depended on the ftplet-api interfaces which are loaded in OSGi
via two separate classloaders: one version from the ftpserver-core bundle (but
these are private and not exported) and one from ftplet-api.
<dependency>
<groupId>org.apache.ftpserver</groupId>
<artifactId>ftpserver-core</artifactId>
<version>1.0.6</version>
</dependency>
The solution:
* remove all the custom manifest headers from maven-bundle-plugin - works very
well on it's own
* build jar that does not include the ftplet-api classes
This requires another release to fix in OSGi.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira