1

我正在尝试使用 JSF 和 Primefaces 开发一个 portlet,当我在 eclipse kepler 下创建我的项目时(使用插件 sdk 6.1.1),我在 portlet.xml 上有一个问题:

无法解析 Portlet 类“javax.portlet.faces.GenericFacesPortlet”

当我尝试 Ivy resolve 时,出现以下错误:

java.lang.NoClassDefFoundError: org/bouncycastle/openpgp/PGPException at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class .java:2714) 在 java.lang.Class.newInstance0(Class.java:343) 在 java.lang.Class.newInstance(Class.java:325) 在 org.apache.ivy.util.Configurator.addChild(Configurator. java:586) 在 org.apache.ivy.core.settings.XmlSettingsParser.inConfiguratorStarted(XmlSettingsParser.java:579) 在 org.apache.ivy 的 org.apache.ivy.util.Configurator.startCreateChild(Configurator.java:503) .core.settings.XmlSettingsParser.startElement(XmlSettingsParser.java:201) 在 org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) 在 org.apache.xerces.parsers.AbstractXMLDocumentParser。emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl。 scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse( Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(未知来源)在 org.apache.ivy.core 的 javax.xml.parsers.SAXParser.parse(SAXParser.java:274)。settings.XmlSettingsParser.doParse(XmlSettingsParser.java:160) 在 org.apache.ivy.core.settings.XmlSettingsParser.parse(XmlSettingsParser.java:150) 在 org.apache.ivy.core.settings.IvySettings.load(IvySettings. java:391) 在 org.apache.ivy.Ivy.configure(Ivy.java:416) 在 org.apache.ivyde.internal.eclipse.CachedIvy.getIvyFromFile(CachedIvy.java:203) 在 org.apache.ivyde.internal .eclipse.CachedIvy.doGetIvy(CachedIvy.java:163) 在 org.apache.ivyde.internal.eclipse.CachedIvy.getIvy(CachedIvy.java:124) 在 org.apache.ivyde.internal.eclipse.resolve.IvyResolveJob.doRun (IvyResolveJob.java:145) 在 org.apache.ivyde.internal.eclipse.resolve.IvyResolveJob.run(IvyResolveJob.java:85) 在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:53 ) 引起:java.lang.ClassNotFoundException: org.bouncycastle.openpgp。在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass( BundleLoader.java:421) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java .lang.ClassLoader.loadClass(ClassLoader.java:356) ... 31 更多java:412) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 31 更多java:412) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 31 更多

谁能告诉我如何解决这个问题。

4

1 回答 1

1

以下 Maven Central 搜索报告了两个匹配项。在您的类路径中包含这些 jar 之一:

没有更多细节很难说出为什么抛出 NoClassDefFoundError 异常。

于 2014-04-07T18:13:39.087 回答