I've recently changed my Eclipse e4 applications project configuration from being based on plug-ins to features. The application runs correctly but when exporting I get errors to do with a build.xml
file.
.metadata/.log - Shortened
C:\Users\my.name\Workspace\.metadata\.plugins\org.eclipse.pde.core\temp\org.eclipse.pde.container.feature\compile.org.eclipse.pde.container.feature.xml:6: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:43: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:24: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:43: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:24: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:43: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:24: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:43: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:24: The following error occurred while executing this line:
C:\Users\my.name\Workspace\project_name\build.xml:43: The following error occurred while executing this line:
...
java.lang.StackOverflowError
at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:571)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at sun.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at org.apache.tools.ant.Target.execute(Target.java:449)
at org.apache.tools.ant.Target.performTasks(Target.java:470)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
at org.apache.tools.ant.Project.executeTarget(Project.java:1361)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:39)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:715)
at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:535)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.ant.core.AntRunner.run(AntRunner.java:374)
at org.eclipse.pde.internal.core.exports.FeatureExportOperation.runScript(FeatureExportOperation.java:410)
at org.eclipse.pde.internal.core.exports.FeatureExportOperation.doExport(FeatureExportOperation.java:250)
at org.eclipse.pde.internal.core.exports.ProductExportOperation.run(ProductExportOperation.java:109)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
After searching around I've found a couple of similar questions to do with this. To fix it people were installing/updating PDE. I've tried reinstalling it but it hasn't made a difference. Also I'm quite sure it is installed correctly as when the project configuration was based on plug-ins it would get the whole way through the build process.
feature.xml
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="[![enter image description here][2]][2]feature.name"
label="Feature"
version="1.0.0.qualifier">
<description url="http://www.example.com/description">
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright">
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license">
[Enter License Description here.]
</license>
<requires>
<import plugin="org.eclipse.nebula.widgets.grid" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.nebula.widgets.formattedtext" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime"/>
<import plugin="org.eclipse.e4.core.di" version="1.7.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.workbench"/>
<import plugin="org.eclipse.e4.ui.workbench.renderers.swt"/>
<import plugin="org.eclipse.e4.core.services"/>
<import plugin="org.eclipse.osgi.services" version="3.7.100" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.services"/>
<import plugin="org.eclipse.e4.ui.workbench.swt" version="0.14.400" match="greaterOrEqual"/>
<import plugin="org.eclipse.e4.ui.model.workbench" version="2.1.200" match="greaterOrEqual"/>
<import plugin="org.apache.commons.io" version="2.2.0" match="greaterOrEqual"/>
<import plugin="org.apache.commons.lang3" version="3.1.0" match="greaterOrEqual"/>
<import plugin="org.slf4j.api" version="1.7.2" match="greaterOrEqual"/>
<import plugin="MyPlugin1" version="1.0.0" match="greaterOrEqual"/>
<import plugin="MyPlugin2" version="1.0.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.jface" version="3.15.0" match="greaterOrEqual"/>
<import plugin="javax.annotation"/>
<import plugin="org.eclipse.e4.core.commands"/>
<import plugin="org.eclipse.e4.core.contexts"/>
<import plugin="org.eclipse.e4.core.di.annotations"/>
<import plugin="org.eclipse.e4.core.di.extensions"/>
<import plugin="org.eclipse.e4.ui.di"/>
<import plugin="org.eclipse.emf.common"/>
<import plugin="org.eclipse.swt"/>
<import plugin="org.eclipse.swt" version="3.104.0" match="compatible"/>
<import plugin="org.eclipse.core.commands" version="3.4.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.equinox.launcher" version="1.5.200" match="greaterOrEqual"/>
<import plugin="org.junit.platform.launcher"/>
<import plugin="org.eclipse.equinox.launcher" version="1.0.0"/>
</requires>
<plugin
id="feature.name"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
id="org.apache.commons.io"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.commons.lang3"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.slf4j.api"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.jface"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="MyPlugin2"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
id="MyPlugin1"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
id="org.eclipse.equinox.launcher"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.equinox.launcher.win32.win32.x86_64"
download-size="0"
install-size="0"
version="0.0.0"
fragment="true"/>
</feature>
Product File features
What could be causing this?
features.xml
and product file features. Is there any other information that would be useful? – Takinfeature.name
in your plug-in list doesn't look right. It is simpler to use features in the 'requires' list rather than specific plugins. – Pillagefeature.name
is not a plug-in so it shouldn't be there and could mean things are stuck in an infinite loop? The problem is that if I don't have it there it saysThe following problems were detected: feature.name is missing
. when I run the application. – TakinGenerate metadata repository
selected as that option doesn't exist though. – Takinrequires
list. Where is this? I've foundRequired Features/Plug-ins
but if I try addingfeature.name
it can't find it. I can add my other features successfully though. – Takin