You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2018/09/17 15:08:28 UTC

[Bug 62728] New: ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

https://bz.apache.org/bugzilla/show_bug.cgi?id=62728

            Bug ID: 62728
           Summary: ClassNotFoundException:
                    org.openxmlformats.schemas.spreadsheetml.x2006.main.im
                    pl.CTSheetsImpl$1SheetList
           Product: POI
           Version: 3.17-FINAL
          Hardware: PC
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: XSSF
          Assignee: dev@poi.apache.org
          Reporter: jperezb@denodo.com
  Target Milestone: ---

getSheetList method throws the following exception:

ClassNotFoundException:
org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList
        at
org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl.getSheetList
        ...

Checking the decompiled code of the class CTSheetsImpl it is possible to see a
strange dependency:
  import
org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl.1SheetList;

That inner class is not there. It looks like the method getSheetList was
refactored in version 1.6 and a big part of the code moved to that class that I
can not find.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 62728] ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62728

--- Comment #4 from Javi <jp...@denodo.com> ---
Cool, getSheetArray can solve my problem. Nevertheless, getSheetList method is
not correct and that problem should be fixed or the method removed because it
is going to be continuously raising that exception.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 62728] ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62728

--- Comment #5 from PJ Fanning <fa...@yahoo.com> ---
org.openxmlformats classes are not part of the POI public API. They are merely
implementation classes. If you insist on using them directly, that is up to you
- but the POI team are not providing any guarantees for them.
And to reiterate, the 1SheetList inner class is in ooxml-schemas jar.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 62728] ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62728

PJ Fanning <fa...@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |62730


Referenced Bugs:

https://bz.apache.org/bugzilla/show_bug.cgi?id=62730
[Bug 62730] Include inner classes when adding classes to poi-ooxml-schemas.jar
-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 62728] ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62728

PJ Fanning <fa...@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |WONTFIX
             Status|NEW                         |RESOLVED
                 OS|                            |All

--- Comment #1 from PJ Fanning <fa...@yahoo.com> ---
poi-ooxml-schemas jar only has the main org.openxmlformats classes - use
ooxml-schema instead - it has all the org.openxmlformats classes.

Better still, try POI 4.0.0.

[1] https://mvnrepository.com/artifact/org.apache.poi/ooxml-schemas/1.3

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 62728] ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62728

--- Comment #2 from Javi <jp...@denodo.com> ---
Created attachment 36151
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=36151&action=edit
screenshot of the problematic class

What I mean is that in poi-ooxml-schemas jar, the class CTSheetsImpl is not
correct and its inner class 1SheetList does not exist in both versions 3.16 and
3.17. Also, I have just checked 4.0 version and it has the problem. 
ooxml-schema 1.3 contains an older implementation of the CTSheetsImpl which is
equivalent to the one that you can find in poi-ooxml-schemas 3.15 with is
correct.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 62728] ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62728

--- Comment #6 from Andreas Beeker <ki...@apache.org> ---
With #56854 we've replaced most (all?) calls to get*List().

As we have now control over XmlBeans, we could do ...
a) ... nothing, because it's in the full schema
b) ... remove the ...List() calls on the schema generation, which probably
breaks a lot of user code - so this is a no-go
c) ... analyze and fix the performance problems in XmlBeans, but that wouldn't
include the inner classes
d) ... do some reflection magic in the ooxml-lite generation and call all the
*List() methods, which makes the ooxml-lite purpose futile
e) ... create test cases for selected *List() methods - which one should we
call and why not the others?

so choosing a) or c) doesn't lead to code changes in POI, therefore WONTFIX is
correct.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 62728] ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62728

--- Comment #3 from PJ Fanning <fa...@yahoo.com> ---
There is an ooxml-schemas 1.4 which was released with poi 4.0.0.
ooxml-schemas 1.3 is the jar that poi-ooxml-schemas-3.17 is built from.

getSheetList can be replaced with getSheetArray - the latter method does not
need the inner class 1SheetList.

Apache POI code base only seems to use getSheetArray - from a grep that I've
just done.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


[Bug 62728] ClassNotFoundException: org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTSheetsImpl$1SheetList

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=62728
Bug 62728 depends on bug 62730, which changed state.

Bug 62730 Summary: Include inner classes when adding classes to poi-ooxml-schemas.jar
https://bz.apache.org/bugzilla/show_bug.cgi?id=62730

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |CLOSED

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org