【问题标题】:Attempting to generate java class from uml in Acceleo尝试从 Acceleo 中的 uml 生成 java 类
【发布时间】:2013-08-04 19:46:07
【问题描述】:

我一直在尝试使用 Acceleo。我使用 Enterprise Architect 来设计我的类,并将它们导出为 XMI。

在 Eclipse 中,当我尝试使用 Acceleo 生成一个简单的类时,我收到以下错误。

谁能告诉我我做错了什么?

我正在使用:

  • Eclipse 开普勒
  • Acceleo 版本:3.2.2.v20120807-0831

    org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.PackageNotFoundException: 找不到带有 uri 'http://schema.omg.org/spec/XMI/2.1' 的包。 (文件:/C:/Users/Anton/git/magick/app.ui/app.ui.acceleo/Sample.xmi, 3, 76) 在 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319) 在 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278) 在 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:406) 在 org.eclipse.acceleo.common.utils.ModelUtils.load(ModelUtils.java:361) 在 org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:457) 在 org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoLaunchOperation.run(AcceleoLaunchOperation.java:124) 在 org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345) 在 org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327) 在 org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:239) 在 org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginLaunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java:141) 在 org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchDelegate.launch(AcceleoLaunchDelegate.java:51) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858) 在 org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707) 在 org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018) 在 org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222) 在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 原因:org.eclipse.emf.ecore.xmi.PackageNotFoundException:找不到带有 uri 'http://schema.omg.org/spec/XMI/2.1' 的包。 (文件:/C:/Users/Anton/git/magick/app.ui/app.ui.acceleo/Sample.xmi, 3, 76) 在 org.eclipse.emf.ecore.xmi.impl.XMLHandler.getPackageForURI(XMLHandler.java:2599) 在 org.eclipse.emf.ecore.xmi.impl.XMLHandler.getFactoryForPrefix(XMLHandler.java:2429) 在 org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectByType(XMLHandler.java:1306) 在 org.eclipse.emf.ecore.xmi.impl.XMLHandler.createTopObject(XMLHandler.java:1475) 在 org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XMLHandler.java:1026) 在 org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMIHandler.java:81) 在 org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:1008) 在 org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:719) 在 org.eclipse.emf.ecore.xmi.impl.XMIHandler.startElement(XMIHandler.java:163) 在 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:506) 在 com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1303) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2717) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489) 在 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835) 在 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) 在 com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) 在 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210) 在 com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568) 在 com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:302) 在 org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:175) 在 org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:253) 在 org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1518) 在 org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1297) 在 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:259) 在 org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274) ... 14 更多

【问题讨论】:

  • 你能在你的Eclipse中打开文件C:/Users/Anton/git/magick/app.ui/app.ui.acceleo/Sample.xmi吗?你能通过 XMI 文件的第一个节点吗?以 ' 开头的行

标签: java eclipse uml acceleo


【解决方案1】:

Acceleo 没有找到您声明的 URI 包。事实上,这样的配置文件 (http://schema.omg.org/spec/XMI/2.1) 在我看来并不是 Acceleo 注册的包 URI,因为我也找不到它。您是否在使用任何其他可用配置文件创建模块后手动编辑它? 也许this link 可以帮助您阐明您的问题。

【讨论】:

    猜你喜欢
    • 2013-12-08
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 2011-02-25
    • 2016-05-12
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    相关资源
    最近更新 更多