Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-2004

Constants.LUCENE_MAIN_VERSION is inlined in code compiled against Lucene JAR, so version detection is incorrect

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.9
    • 2.9.1, 3.0
    • None
    • None
    • New

    Description

      When you compile your own code against the Lucene 2.9 version of the JARs and use the LUCENE_MAIN_VERSION constant and then run the code against the 3.0 JAR, the constant still contains 2.9, because javac inlines primitives and Strings into the class files if they are public static final and are generated by a constant (not method).

      The attached fix will fix this by using a ident(String) functions that return the String itsself to prevent this inlining.

      Will apply to 2.9, trunk and 2.9 BW branch. No I can also reenable one test I removed because of this.

      Attachments

        1. LUCENE-2004.patch
          0.9 kB
          Uwe Schindler

        Activity

          People

            uschindler Uwe Schindler
            uschindler Uwe Schindler
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: