我发现了以下问题。 我支持基于XText框架的应用程序。 maven构建被选为主要构建系统。 Tycho插件用于此。我想在我的应用程序中添加一个包含域模型的插件。决定将EMF用于此目的。由于大量丢失的引用和生成的代码中的冲突,EMF创建的代码未编译。例如:
C:\Users\agorlov\workspaces\flexprod\atom\FXPST-19474-implementation\implementation\com.psl.atom.parent\com.psl.atom.flexprod.model.FirstmileModel\src\com\psl\atom\flexprod\model\firstmile\FirstmilePackage.java:[3]
[ERROR] package com.psl.atom.flexprod.model.firstmile;
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] The package com.psl.atom.flexprod.model.firstmile collides with a type
[ERROR] C:\Users\agorlov\workspaces\flexprod\atom\FXPST-19474-implementation\implementation\com.psl.atom.parent\com.psl.atom.flexprod.model.FirstmileModel\src\com\psl\atom\flexprod\model\firstmile\FirstmilePackage.java:[11]
[ERROR] import com.psl.atom.flexprod.model.firstmile.impl.FirstmilePackageImpl;
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我查看了代码并看到:Interface指的是它的实现
FirstmilePackage eINSTANCE = com.psl.atom.flexprod.model.firstmile.impl.FirstmilePackageImpl.init();
对我来说这很奇怪。编译器说,接口定义与其实现之间存在冲突。如何使生成的代码正确?