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