Uploaded image for project: 'FtpServer'
  1. FtpServer
  2. FTPSERVER-447

Bad OSGi exports for FTPServer

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.0.6
    • 1.1.0
    • Server
    • None

    Description

      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.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            ieugen Ioan Eugen Stan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment