Android SDK Content Loader has encountered a problem. parseSdkContent failed org.apache.xerces.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory I had no problem with this in F17, but since the upgrade to F18 it doesn't work.
$ locate xerces | grep jar ~/.eclipse/org.eclipse.platform_4.2.0_793567567/plugins/org.apache.xerces_2.11.0.jar /usr/share/eclipse/dropins/dtp-enablement/eclipse/plugins/org.apache.xerces_2.9.0.jar /usr/share/eclipse/dropins/wtp-sourceediting/eclipse/plugins/xerces-j2.jar /usr/share/java/xerces-j2.jar $ rpm -qf /usr/share/eclipse/dropins/dtp-enablement/eclipse/plugins/org.apache.xerces_2.9.0.jar eclipse-dtp-1.10-2.fc18.noarch $ rpm -qf /usr/share/eclipse/dropins/wtp-sourceediting/eclipse/plugins/xerces-j2.jar eclipse-wtp-sourceediting-3.4.0-2.fc18.noarch $ rpm -qf /usr/share/java/xerces-j2.jar xerces-j2-2.11.0-8.fc18.noarch
(In reply to comment #1) > $ locate xerces | grep jar > ~/.eclipse/org.eclipse.platform_4.2.0_793567567/plugins/org.apache.xerces_2. > 11.0.jar > /usr/share/eclipse/dropins/dtp-enablement/eclipse/plugins/org.apache. > xerces_2.9.0.jar > /usr/share/eclipse/dropins/wtp-sourceediting/eclipse/plugins/xerces-j2.jar Hmm, can you try removing ~/.eclipse/org.eclipse.platform_4.2.0_793567567/plugins/org.apache.xerces_2.11.0.jar With so many xerces versions it's like crying for help. > /usr/share/java/xerces-j2.jar > > $ rpm -qf > /usr/share/eclipse/dropins/dtp-enablement/eclipse/plugins/org.apache. > xerces_2.9.0.jar > eclipse-dtp-1.10-2.fc18.noarch > > $ rpm -qf > /usr/share/eclipse/dropins/wtp-sourceediting/eclipse/plugins/xerces-j2.jar > eclipse-wtp-sourceediting-3.4.0-2.fc18.noarch > > $ rpm -qf /usr/share/java/xerces-j2.jar > xerces-j2-2.11.0-8.fc18.noarch
It didn't help. It broke other stuff.
The workaround is to remove eclipse-dtp and eclipse-wtp-sourcediting. But I'd be willing to bet that the ADT plugin is probably one of the most popular eclipse plugins out there, we should be able to support it. The easiest way around it may be to just package ADT ourselves...
I am also getting this: An internal error occurred during: "Running Android Lint". Class org.eclipse.wst.xml.core.internal.document.DocumentImpl does not implement the requested interface org.w3c.dom.Document
(In reply to comment #4) > The workaround is to remove eclipse-dtp and eclipse-wtp-sourcediting. Both of them or just one of them? Does installing any of them cause the problem to reappear? It may be the case that xerces-j2 had changed in the meantime. I've respinned Eclipse build for f18 - would you like to try it? http://koji.fedoraproject.org/koji/taskinfo?taskID=4447919
Removing just eclipse-wtp-sourcediting did not improve things. eclipse-wtp-sourcediting depends on eclipse-dtp via eclipse-wtp-common. I have the following eclipse packages installed: eclipse-cdt-8.1.0-2.fc18.x86_64 eclipse-cdt-parsers-8.1.0-2.fc18.x86_64 eclipse-cdt-sdk-8.1.0-2.fc18.x86_64 eclipse-changelog-2.8.0-1.fc18.noarch eclipse-checkstyle-5.1.0-4.fc17.noarch eclipse-cmakeed-1.1.6-4.fc18.noarch eclipse-collabnet-merge-3.0.9-1.fc18.noarch eclipse-dltk-4.0.0-2.fc18.noarch eclipse-egit-2.0.0-2.fc18.noarch eclipse-emf-2.8.0-2.fc18.noarch eclipse-emf-core-2.8.0-6.fc18.x86_64 eclipse-emf-xsd-2.8.0-2.fc18.noarch eclipse-equinox-osgi-4.2.0-6.fc18.x86_64 eclipse-fedorapackager-0.4.1-1.fc18.noarch eclipse-findbugs-1.3.9-7.fc18.noarch eclipse-findbugs-contrib-4.6.1-2.fc18.noarch eclipse-gef-3.8.0-2.fc18.noarch eclipse-gprof-1.1.0-1.fc18.noarch eclipse-jdt-4.2.0-6.fc18.x86_64 eclipse-jgit-2.0.0-2.fc18.noarch eclipse-linuxtools-1.1.0-1.fc18.noarch eclipse-manpage-1.1.0-1.fc18.noarch eclipse-mpc-1.1.1-1.fc18.noarch eclipse-mylyn-3.8.1-1.fc18.noarch eclipse-mylyn-context-cdt-3.8.1-1.fc18.noarch eclipse-mylyn-context-java-3.8.1-1.fc18.noarch eclipse-mylyn-context-pde-3.8.1-1.fc18.noarch eclipse-mylyn-context-team-3.8.1-1.fc18.noarch eclipse-mylyn-docs-epub-3.8.1-1.fc18.noarch eclipse-mylyn-docs-htmltext-3.8.1-1.fc18.noarch eclipse-mylyn-docs-wikitext-3.8.1-1.fc18.noarch eclipse-mylyn-fedora-integration-1.0.2-0.3.fc18.noarch eclipse-mylyn-ide-3.8.1-1.fc18.noarch eclipse-mylyn-tasks-bugzilla-3.8.1-1.fc18.noarch eclipse-mylyn-tasks-trac-3.8.1-1.fc18.noarch eclipse-mylyn-tasks-web-3.8.1-1.fc18.noarch eclipse-mylyn-versions-3.8.1-1.fc18.noarch eclipse-mylyn-versions-git-3.8.1-1.fc18.noarch eclipse-oprofile-1.1.0-1.fc18.noarch eclipse-p2-discovery-4.2.0-2.fc18.noarch eclipse-packagekit-0.0.2-4.fc18.x86_64 eclipse-pde-4.2.0-6.fc18.x86_64 eclipse-platform-4.2.0-6.fc18.x86_64 eclipse-ptp-6.0.0-0.2.junom6.fc18.noarch eclipse-ptp-rdt-6.0.0-0.2.junom6.fc18.noarch eclipse-ptp-rdt-sync-6.0.0-0.2.junom6.fc18.noarch eclipse-ptp-rdt-xlc-6.0.0-0.2.junom6.fc18.noarch eclipse-pydev-2.6.0-2.fc18.noarch eclipse-pydev-mylyn-2.6.0-2.fc18.noarch eclipse-rcp-4.2.0-6.fc18.x86_64 eclipse-rpm-editor-1.1.0-1.fc18.noarch eclipse-rpmstubby-1.1.0-1.fc18.noarch eclipse-rse-3.4-3.fc18.noarch eclipse-shelled-2.0.2-1.fc18.noarch eclipse-subclipse-1.8.13-3.fc18.noarch eclipse-swt-4.2.0-6.fc18.x86_64 eclipse-valgrind-1.1.0-1.fc18.noarch
With the workaround, I get another error: An internal error occurred during: "Running Android Lint". Class org.eclipse.wst.xml.core.internal.document.DocumentImpl does not implement the requested interface org.w3c.dom.Document
After a little more investigation, I'm wondering if the problem is triggered by ADT but not *caused* by ADT. I've removed all the duplicate jars. The remaining jars are: com.android.ide.eclipse.adt_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.base_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.ddms_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.gldebugger_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.hierarchyviewer_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.ndk_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.traceview_20.0.3.v201208082019-427395.jar overlay.com.android.ide.eclipse.adt.overlay_20.0.3.v201208082019-427395.jar Looking inside each of the jars, I don't see anything that would break SAX: Archive: com.android.ide.eclipse.adt_20.0.3.v201208082019-427395.jar 9704 08-08-2012 20:19 libs/ant-glob.jar 46018 08-08-2012 20:19 libs/asm-4.0.jar 21980 08-08-2012 20:19 libs/asm-tree-4.0.jar 534713 08-08-2012 20:19 libs/assetstudio.jar 931168 08-08-2012 20:19 libs/freemarker-2.3.19.jar 85185 08-08-2012 20:19 libs/ide_common.jar 43858 08-08-2012 20:19 libs/kxml2-2.3.0.jar 32738 08-08-2012 20:19 libs/layoutlib_api.jar 93062 08-08-2012 20:19 libs/lint_api.jar 215434 08-08-2012 20:19 libs/lint_checks.jar 1056571 08-08-2012 20:19 libs/lombok-ast-0.2.jar 23663 08-08-2012 20:19 libs/manifmerger.jar 9170 08-08-2012 20:19 libs/ninepatch.jar 447279 08-08-2012 20:19 libs/propertysheet.jar 35737 08-08-2012 20:19 libs/rule_api.jar 370307 08-08-2012 20:19 libs/sdkuilib.jar 7625 08-08-2012 20:19 libs/swtmenubar.jar Archive: com.android.ide.eclipse.base_20.0.3.v201208082019-427395.jar 2507 08-08-2012 20:19 libs/androidprefs.jar 42670 08-08-2012 20:19 libs/common.jar 58160 08-08-2012 20:19 libs/commons-codec-1.4.jar 143847 08-08-2012 20:19 libs/commons-compress-1.0.jar 60686 08-08-2012 20:19 libs/commons-logging-1.1.1.jar 1501575 08-08-2012 20:19 libs/guava-10.0.1.jar 351132 08-08-2012 20:19 libs/httpclient-4.1.1.jar 181041 08-08-2012 20:19 libs/httpcore-4.1.jar 26889 08-08-2012 20:19 libs/httpmime-4.1.1.jar 367711 08-08-2012 20:19 libs/sdklib.jar 14122 08-08-2012 20:19 libs/sdkstats.jar Archive: com.android.ide.eclipse.ddms_20.0.3.v201208082019-427395.jar 188145 08-08-2012 20:19 libs/ddmlib.jar 508161 08-08-2012 20:19 libs/ddmuilib.jar 307734 08-08-2012 20:19 libs/jcommon-1.0.12.jar 73010 08-08-2012 20:19 libs/jfreechart-1.0.9-swt.jar 1291498 08-08-2012 20:19 libs/jfreechart-1.0.9.jar 7625 08-08-2012 20:19 libs/swtmenubar.jar Archive: com.android.ide.eclipse.gldebugger_20.0.3.v201208082019-427395.jar 50436 08-08-2012 20:19 libs/host-libprotobuf-java-2.3.0-lite.jar 1890 08-08-2012 20:19 libs/liblzf.jar Archive: com.android.ide.eclipse.hierarchyviewer_20.0.3.v201208082019-427395.jar 312170 08-08-2012 20:19 libs/hierarchyviewerlib.jar 7625 08-08-2012 20:19 libs/swtmenubar.jar Archive: com.android.ide.eclipse.traceview_20.0.3.v201208082019-427395.jar 121025 08-08-2012 20:19 libs/traceview.jar Any thoughts?
(In reply to comment #7) > Removing just eclipse-wtp-sourcediting did not improve things. > eclipse-wtp-sourcediting depends on eclipse-dtp via eclipse-wtp-common. I know this isn't exactly pursuing the reported problem, but this dependency shouldn't be happening.
OK, after a LOT more investigating, this does not appear to be a problem of multiple jars at all. I have installed just the most basic eclipse and I still get the error: There was a problem adding adapter factories Class org.eclipse.wst.xml.core.internal.document.DocumentImpl does not implement the requested interface org.w3c.dom.Document $ rpm -qa 'eclipse-*' eclipse-equinox-osgi-4.2.0-18.fc18.x86_64 eclipse-ecf-core-3.5.6-3.fc18.noarch eclipse-emf-core-2.8.0-16.fc18.noarch eclipse-platform-4.2.0-18.fc18.x86_64 eclipse-swt-4.2.0-18.fc18.x86_64
Hmm, does it work with eclipse.org 4.2.0 release at all?
Yes. On a Mac I downloaded a fresh 4.2.0 from eclipse.org. I installed only the ADT Plugin. Everything works as expected. I went back to my Linux system. Did a 'yum remove eclipse*' then downloaded 4.2.0 from eclipse.org. After installing only the ADT Plugin, everything worked as expected. In short, the ADT works fine with the eclipse.org 4.2.0 build on both Fedora 18 and Mac, but fails with the Fedora build of 4.2.0.
Same happened to me: "Class org.eclipse.wst.xml.core.internal.document.DocumentImpl does not implement the requested interface org.w3c.dom.Document"
Are the org.w3c.dom packages "exported" from the manifests in the jar owned by xerces-j2-2.11.0-8.fc18.noarch? I'm not positive that the final jar has the same manifest as the org.apache.xerces and javax.xml bundles we provide from Eclipse Orbit, or how it's been change if it is different.
What are the exact reproduction steps? I have installed F18 image, then Eclipse and tried to reproduce the isssue, but I can't get any of described errors.
1. Install F18 2. yum update 3. yum install eclipse-platform 4. Verify that eclipse runs fine 5. Follow the instructions here: http://developer.android.com/sdk/installing/installing-adt.html 6. Restart eclipse: parseSdkContent failed org.apache.xerces.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory Following the steps above reproduces the error for me without any ~/.eclipse and with creating a new (clean) workspace.
Here are the results of further debugging. I removed everything related to java on my system. Then, I did a yum --releasever=17 install eclipse-platform. Eclipse worked. I installed ADT, and it worked. Then I package by package upgraded each rpm to the f18 version and tested eclipse to see when it broke. All dependencies upgraded fine without any breakage. The last transaction I ran was this one, which broke eclipse/ADT: Resolving Dependencies --> Running transaction check ---> Package eclipse-emf-core.x86_64 1:2.8.0-3.fc17 will be updated ---> Package eclipse-emf-core.noarch 1:2.8.0-16.fc18 will be an update ---> Package eclipse-equinox-osgi.x86_64 1:4.2.0-3.fc17 will be updated ---> Package eclipse-equinox-osgi.x86_64 1:4.2.0-18.fc18 will be an update ---> Package eclipse-platform.x86_64 1:4.2.0-3.fc17 will be updated --> Processing Dependency: osgi(org.eclipse.ecf) for package: 1:eclipse-platform-4.2.0-18.fc18.x86_64 --> Processing Dependency: osgi(org.eclipse.ecf.filetransfer) for package: 1:eclipse-platform-4.2.0-18.fc18.x86_64 --> Processing Dependency: osgi(org.eclipse.ecf.provider.filetransfer) for package: 1:eclipse-platform-4.2.0-18.fc18.x86_64 ---> Package eclipse-platform.x86_64 1:4.2.0-18.fc18 will be obsoleting ---> Package eclipse-rcp.x86_64 1:4.2.0-3.fc17 will be obsoleted ---> Package eclipse-swt.x86_64 1:4.2.0-3.fc17 will be updated ---> Package eclipse-swt.x86_64 1:4.2.0-18.fc18 will be an update --> Running transaction check ---> Package eclipse-ecf-core.noarch 0:3.5.6-3.fc18 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================ Package Arch Version Repository Size ================================================================================================================ Installing: eclipse-platform x86_64 1:4.2.0-18.fc18 fedora 42 M replacing eclipse-rcp.x86_64 1:4.2.0-3.fc17 Updating: eclipse-emf-core noarch 1:2.8.0-16.fc18 fedora 1.6 M eclipse-equinox-osgi x86_64 1:4.2.0-18.fc18 fedora 1.3 M eclipse-swt x86_64 1:4.2.0-18.fc18 fedora 8.9 M Installing for dependencies: eclipse-ecf-core noarch 3.5.6-3.fc18 fedora 326 k Transaction Summary ================================================================================================================ Install 1 Package (+1 Dependent package) Upgrade 3 Packages 4.2.0-3.fc17 works fine, but 4.2.0-18.fc18 is fail-sauce. To further narrow things down I tried to bisect the koji f18 builds to see what the latest one was to work. However, both 4.2.0-3.fc18 AND 4.2.0-5.fc18 fail. As does 4.2.1-0.2.fc19 (but it looks like this build fails for a different reason). In short, something is definitely broken in the f18 builds, but I don't know when or why it broke.
Maybe starting investigation in another place would help - after I installed ADT into my Eclipse I got in my local .eclipse following plugins: com.android.ide.eclipse.adt_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.base_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.ddms_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.gldebugger_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.hierarchyviewer_20.0.3.v201208082019-427395.jar com.android.ide.eclipse.traceview_20.0.3.v201208082019-427395.jar overlay.com.android.ide.eclipse.adt.overlay_20.0.3.v201208082019-427395.jar org.apache.xerces_2.11.0.jar org.apache.xml.resolver_1.2.0.v201005080400.jar org.apache.xml.serializer_2.7.1.v201005080400.jar org.eclipse.jdt_3.8.0.v20120911-0933.jar org.eclipse.jdt.core.manipulation_1.5.0.v20120911-0933.jar org.eclipse.jdt.debug_3.7.100.v20120911-0933 org.eclipse.jdt.debug.ui_3.6.100.v20120911-0933.jar org.eclipse.jdt.junit_3.7.100.v20120911-0933.jar org.eclipse.jdt.junit.core_3.7.100.v20120911-0933.jar org.eclipse.jdt.junit.runtime_3.4.300.v20120911-0933.jar org.eclipse.jdt.launching_3.6.100.v20120911-0933.jar org.eclipse.jdt.ui_3.8.0.v20120911-0933.jar org.eclipse.wst.common.core_1.2.0.v200908252030.jar org.eclipse.wst.common.environment_1.0.400.v200912181832.jar org.eclipse.wst.common.frameworks_1.2.200.v201203141800.jar org.eclipse.wst.common.project.facet.core_1.4.300.v201111030424.jar org.eclipse.wst.common.ui_1.1.500.v200911190730.jar org.eclipse.wst.common.uriresolver_1.2.0.v201203071939.jar org.eclipse.wst.sse.core_1.1.700.v201205171812.jar org.eclipse.wst.sse.ui_1.3.100.v201204260100.jar org.eclipse.wst.validation_1.2.400.v201204260100.jar org.eclipse.wst.xml.core_1.1.700.v201204241737.jar org.eclipse.wst.xml.ui_1.1.300.v201205022014.jar org.hamcrest.core_1.1.0.v20090501071000.jar org.junit_4.10.0.v4_10_0_v20120426-0900 Only those matching "android" are expected. All other should be not included, as they duplicate existing stuff. The error that you are getting may be related to the duplication of org.apache bundles. It would be good to compare them with their packaged Eclipse counterparts.
Please see my comment #9. I've already gone down this path. The problem is NOT the ADT plugin because it works on 4.2.0-3.fc17 but not any of the F18 builds of the same version.
No, that's not exactly the same issue. The point is that ADT caused Eclipse to download and install those bundles: org.apache.xerces_2.11.0.jar org.apache.xml.resolver_1.2.0.v201005080400.jar org.apache.xml.serializer_2.7.1.v201005080400.jar which means that they are not present or not visible in the platform. Generelly presence of them is likely to cause issues, if ADT requires those newly downloaded one, and Eclipse has the same bundles which are missing some export clauses, or are loaded by different classloaders. etc. In an ideal scenario, only the first 7 bundles should be installed.
Are you at least able to reproduce the problem?
Ok, I've managed to reproduce the issue. Also, I checked that SAXParserFactoryImpl extends SAXParserFactory, which implies class loading issue. I think I have seen this kind of an issue before - the most probable scenario is that the android plugin loads javax.xml classes from the VM SDK, but the xerces uses xml-commons-apis (or the other way round).
Anyone experiencing this issue with f18, please test this package: http://koji.fedoraproject.org/koji/taskinfo?taskID=4524947
I tried it with the new xerces you posted and I got the same error.
A new build is coming: http://koji.fedoraproject.org/koji/taskinfo?taskID=4536319
Created attachment 618551 [details] Fix proposition.
Created attachment 618552 [details] mylyn/context/zip
This appears to solve the first problem. However, when I attempt to do anything with an android project, I get: There was a problem adding adapter factories Class org.eclipse.wst.xml.core.internal.document.DocumentImpl does not implement the requested interface org.w3c.dom.Document
Created attachment 619646 [details] Fix (re-created)
Re assign to xerces as the fix should go there.
xerces-j2-2.11.0-9.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/xerces-j2-2.11.0-9.fc18
This bug needs to be forked because there is still a remaining issue: Class org.eclipse.wst.xml.core.internal.document.DocumentImpl does not implement the requested interface org.w3c.dom.Document
Package xerces-j2-2.11.0-9.fc18: * should fix your issue, * was pushed to the Fedora 18 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing xerces-j2-2.11.0-9.fc18' as soon as you are able to, then reboot. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-15172/xerces-j2-2.11.0-9.fc18 then log in and leave karma (feedback).
Can this bug be closed? The update has been pushed to stable.
No, see comment 33.
(In reply to comment #36) > No, see comment 33. Fair enough, thanks for taking it out of ON_QA
(In reply to comment #33) > This bug needs to be forked because there is still a remaining issue: > Class org.eclipse.wst.xml.core.internal.document.DocumentImpl does not > implement the requested interface org.w3c.dom.Document I wasn't able to find any fork for this, so I went ahead and created one: https://bugzilla.redhat.com/show_bug.cgi?id=875490 If there is a bz already and I missed it, please mark as a duplicate. Thanks, John
xerces-j2-2.11.0-10.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/FEDORA-2012-20169/xerces-j2-2.11.0-10.fc18
xerces-j2-2.11.0-11.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/xerces-j2-2.11.0-11.fc18
Package xerces-j2-2.11.0-11.fc18: * should fix your issue, * was pushed to the Fedora 18 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing xerces-j2-2.11.0-11.fc18' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-20513/xerces-j2-2.11.0-11.fc18 then log in and leave karma (feedback).
xerces-j2-2.11.0-9.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
xerces-j2-2.11.0-11.fc18 has been pushed to the Fedora 18 stable repository. If problems still persist, please make note of it in this bug report.
I just installed Fedora 18 and did a clean install of Eclipse 4.2.1 (I even deleted ~/.eclipse and ~/<workspace>/.metadata for good measure). Unfortunately, I am still getting this exact same error, even though I have xerces-j2-2.11.0-11.fc18. Here is what gets added to .metadata/.log when I attempt to save any Android Java file in Eclipse: !ENTRY org.eclipse.core.jobs 4 2 2013-01-18 00:18:48.677 !MESSAGE An internal error occurred during: "Running Android Lint". !STACK 0 java.lang.IncompatibleClassChangeError: Class org.eclipse.wst.xml.core.internal.document.DocumentImpl does not implement the requested interface org.w3c.dom.Document at com.android.tools.lint.detector.api.Project.readManifest(Project.java:476) at com.android.tools.lint.client.api.LintDriver.runFileDetectors(LintDriver.java:798) at com.android.tools.lint.client.api.LintDriver.checkProject(LintDriver.java:732) at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.java:340) at com.android.ide.eclipse.adt.internal.lint.LintJob.run(LintJob.java:153) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Never mind, I fixed it myself. It turns out that looking at a similar bug report (https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=875490) was the key. I should have installed the "Fedora Eclipse" group initially, as that group contains additional packages (such as eclipse-dtp, apparently) that make Eclipse work better on Fedora.