Eclipse RCP: Unresolved Requirement - eclipse

I have two local plugin projects in eclipse, both maven projects.
AvgPowerTool
AvgPowerCommon
AvgPowerTool is dependent on AvgPowerCommon (It uses classes from AvgPowerCommon).
When I run the application and try to instantiate a class from AvgPowerCommon the application exits with an exception:
java.lang.RuntimeException: No application id has been found.
Above it, in the log I see:
!ENTRY org.eclipse.equinox.app 0 0 2015-06-02 12:08:10.113
!MESSAGE Product AvgPowerTool.product could not be found.
!ENTRY AvgPowerTool 2 0 2015-06-02 12:08:10.164
!MESSAGE Could not resolve module: AvgPowerTool [208]
Unresolved requirement: Require-Bundle: AvgPowerCommon
This is how the required plugins in AvgPowerTool's plugin.xml look:
What can I do to resolve this?
Thanks.

When running an RCP using 'Run > Eclipse Application' you need to make sure that all the required plugins are checked in the 'Run Configuration' for the application (on the Plugins tab).
If you subsequently build the RCP using an xxx.product file you must list all the required plugins (or features) in the product file.

Related

Eclipse Application launch config throws InjectionException after changing target definition from Eclipse Neon (4.6) to Photon (4.8)

I'm developing some Eclipse plugins (based on xtext) and I tried to update the target definition from 4.6 Neon to 4.8 Photon.
I have a launch configuration that launches an Eclipse IDE with my plugins loaded. After updating the target definition, the launch configuration automatically updated the version numbers of the bundles that come from the target definition. Some of the new versions had new dependencies, which I added with the "Add Required Plug-ins" button. "Validate Plug-ins" finds no issues, however, when I run this launch configuration, it fails with the following exceptions (stack traces omitted):
!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-07-16 17:58:31.550
!MESSAGE Unable to create class 'org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon' from bundle '495'
!STACK 0
org.eclipse.e4.core.di.InjectionException: Unable to process "CommandProcessingAddon.broker": no actual value was found for the argument "IEventBroker".
!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-07-16 17:58:31.559
!MESSAGE Unable to create class 'org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon' from bundle '495'
!STACK 0
org.eclipse.e4.core.di.InjectionException: Unable to process "ContextProcessingAddon.broker": no actual value was found for the argument "IEventBroker".
!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-07-16 17:58:31.568
!MESSAGE Unable to create class 'org.eclipse.e4.ui.workbench.swt.util.BindingProcessingAddon' from bundle '498'
!STACK 0
org.eclipse.e4.core.di.InjectionException: Unable to process "BindingProcessingAddon.broker": no actual value was found for the argument "IEventBroker".
!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-07-16 17:58:31.602
!MESSAGE Unable to create class 'org.eclipse.e4.ui.workbench.addons.splitteraddon.SplitterAddon' from bundle '496'
!STACK 0
org.eclipse.e4.core.di.InjectionException: Unable to process "SplitterAddon.ps": no actual value was found for the argument "EPartService".
!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-07-16 17:58:31.612
!MESSAGE Unable to create class 'org.eclipse.ui.internal.ide.addons.SaveAllDirtyPartsAddon' from bundle '689'
!STACK 0
org.eclipse.e4.core.di.InjectionException: Unable to process "SaveAllDirtyPartsAddon.eventBroker": no actual value was found for the argument "IEventBroker".
I have no idea what could be causing this. The launch configuration worked fine before. Googling these errors hasn't yielded a helpful result.
Most likely the list of auto-started plugins and their runlevels is corrupted. Opening the "Plug-ins" tab in the launch configuration and pressing the "Restore Defaults" button should fix the problem.
If you customized the list of plugins/features you will have to repeat that. (You can store the launch config in a file in the Common tab, make a backup and compare it with the result to make your life easier).
The same problem can also happen with products. In this case, the solution is to open the "Configuration" tab of the product configuration, click the "Remove All" button under "Start Levels", and click "Add Recommended".

Eclipse Oxygen plug-in Missing Constraint: Import-Package

I am writing a plug-in for Eclipse Oxygen that allows External Tools to be run directly from toolbar buttons. When I right click the project and click Run As Eclipse Application I get a pop-up that shows the following errors
javax.xml.ws
Missing Constraint: Import-Package: java.xml.bind; version="0.0.0"
Missing Constraint: Import-Package: java.xml.bind.annotation; version="0.0.0"
org.apache.xmlrpc
Missing Constraint: Import-Package: java.xml.bind; version="0.0.0"
If I click Continue, Eclipse launches with the plug-in and it operates correctly. I have tried following the advice here to open the 'Run Configuration' and select 'Add Required Bundles' (although using Add Required Plug-ins as there is no bundles button) but it doesn't help. I neither can see javax.xml.bind in the list nor a way to add it.
The project itself is very simple with the following dependencies
org.eclipse.core.runtime
org.eclipse.debug.ui
org.eclipse.jface
and extensions
org.eclipse.debug.core.launchers
org.eclipse.ui.commands
org.eclipse.ui.handlers
org.eclipse.ui.menus
I have listed the dependency hierarchy and javax.xml.bind is not listed.
How can I add the dependencies or clear the errors?
It seems, these two packages (java.xml.bind and java.xml.bind.annotation) are missing in your target platform.
Adding the javax.xml.bind plug-in (which can be download from Eclipse Orbit, e. g. here) to your target platform should fix the problem.

unable to create Maven project in eclipse(Luna)

I am trying to create Maven project in eclipse(Luna) but I am getting error while creating project.Can anyone tell me how to create maven project in Eclipse(Luna).
In workspace->.metadata->.log file
!ENTRY org.eclipse.m2e.logback.appender 4 0 2015-07-07 11:17:28.424
!MESSAGE Unable to create project from archetype [co.ntier:spring-mvc-archetype:1.0.2 -> http://maven-repository.com/artifact/co.ntier/spring-mvc-archetype/1.0.2]
!ENTRY org.eclipse.m2e.core 4 -1 2015-07-07 11:17:28.427
!MESSAGE Unable to create project from archetype [co.ntier:spring-mvc-archetype:1.0.2 -> http://maven-repository.com/artifact/co.ntier/spring-mvc-archetype/1.0.2]
!STACK 0
org.apache.maven.archetype.exception.ArchetypeGenerationFailure: The defined artifact is not an archetype
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype(DefaultArchetypeGenerator.java:152)
at org.apache.maven.archetype.generator.DefaultArchetypeGenerator.generateArchetype(DefaultArchetypeGenerator.java:286)
at org.apache.maven.archetype.DefaultArchetype.generateProjectFromArchetype(DefaultArchetype.java:69)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.createArchetypeProjects0(ProjectConfigurationManager.java:770)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$5.call(ProjectConfigurationManager.java:719)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager$5.call(ProjectConfigurationManager.java:1)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:166)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:142)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:96)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1348)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.createArchetypeProjects(ProjectConfigurationManager.java:717)
at org.eclipse.m2e.core.ui.internal.wizards.MavenProjectWizard$5.doCreateMavenProjects(MavenProjectWizard.java:244)
at org.eclipse.m2e.core.ui.internal.wizards.AbstactCreateMavenProjectJob$1.doCreateMavenProjects(AbstactCreateMavenProjectJob.java:46)
at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:62)
at org.eclipse.m2e.core.ui.internal.wizards.AbstactCreateMavenProjectJob.runInWorkspace(AbstactCreateMavenProjectJob.java:50)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
It seems eclipse fail to generate this artifact because given parameters are wrong. Try to create it with command line then import it into eclipse as a maven project :
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeGroupId=co.ntier -DarchetypeArtifactId=spring-mvc-archetype -DarchetypeVersion=1.0.2 -DinteractiveMode=false
For me the accepted answer didn't work. Try the following if you face the same issue.
File -> New project -> Maven Project -> Next -> Click on Add Archetype
Enter the following details
Archetype Group Id: co.ntier
Archetype Artifact Id: spring-mvc-archetype
Archetype Version: 1.0.2
Repository URL: http://repo.maven.apache.org/maven2/
If it fails again, delete everything inside .m2/repository folder & try the above steps again.

Launching Plugin Fails, Missing Constraint javax.xml.bind

I am writing an Eclipse plugin using Eclipse RCP (Kepler). Everything was working fine until last night all the sudden I started getting null pointer exceptions when trying to test my plugin. Here is a snippit of the stacktrace:
!ENTRY org.eclipse.ui.workbench 4 2 2013-08-24 08:36:17.616
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.NullPointerException
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.MigrationSupport.getLastMigration(MigrationSupport.java:229)
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.MigrationSupport.baseChangedSinceLastPresentationOfWizard(MigrationSupport.java:190)
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.MigrationSupport.performMigration(MigrationSupport.java:69)
at org.eclipse.equinox.internal.p2.ui.sdk.scheduler.AutomaticUpdateScheduler.earlyStartup(AutomaticUpdateScheduler.java:89)
at org.eclipse.ui.internal.EarlyStartupRunnable.runEarlyStartup(EarlyStartupRunnable.java:87)
at org.eclipse.ui.internal.EarlyStartupRunnable.run(EarlyStartupRunnable.java:66)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.Workbench$55.run(Workbench.java:2552)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
java.lang.NullPointerException
at org.eclipse.core.internal.runtime.InternalPlatform.getLog(InternalPlatform.java:354)
at org.eclipse.core.runtime.Plugin.getLog(Plugin.java:291)
at org.eclipse.ui.internal.WorkbenchPlugin.log(WorkbenchPlugin.java:830)
at org.eclipse.ui.statushandlers.StatusManager.logError(StatusManager.java:285)
at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:200)
at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:231)
at org.eclipse.ui.statushandlers.StatusManager$StatusManagerLogListener.logging(StatusManager.java:305)
at org.eclipse.core.internal.runtime.RuntimeLog.logToListeners(RuntimeLog.java:160)
at org.eclipse.core.internal.runtime.PlatformLogWriter.logged(PlatformLogWriter.java:100)
at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.safeLogged(ExtendedLogReaderServiceFactory.java:86)
at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.logPrivileged(ExtendedLogReaderServiceFactory.java:205)
at org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory.log(ExtendedLogReaderServiceFactory.java:178)
at org.eclipse.equinox.log.internal.ExtendedLogServiceFactory.log(ExtendedLogServiceFactory.java:65)
at org.eclipse.equinox.log.internal.ExtendedLogServiceImpl.log(ExtendedLogServiceImpl.java:87)
at org.eclipse.equinox.log.internal.LoggerImpl.log(LoggerImpl.java:54)
at org.eclipse.core.internal.runtime.PlatformLogWriter.logging(PlatformLogWriter.java:43)
at org.eclipse.core.internal.runtime.RuntimeLog.log(RuntimeLog.java:96)
at org.eclipse.core.runtime.SafeRunner.handleException(SafeRunner.java:71)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:44)
at org.eclipse.ui.internal.Workbench$55.run(Workbench.java:2552)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
To try and figure out what might be going on I went to the launch configuration for my plugin and clicked "Validate Plug-ins" and get the following error:
org.apache.xmlrpc
Missing Constraint: Import-package: javax.xml.bind; version="0.0.0"
Could this be the reason why launching my plugin is failing? If so, how to I fix it?
Thank you
You can right click on your project, go to Run as -> Run configurations and to Plug-ins tab. Here click on the Add required plug-ins button and this should solve your validation problem automatically.
I had to remove following plugins in my run configuration "Eclipse Application" to get rid of the xmlrpc warning:
org.apache.xmlrpc
org.eclipse.mylyn.bugzilla.core
org.eclipse.mylyn.bugzilla.ui
org.eclipse.mylyn.commons.xmlrpc
The xmlrpc warning already occures with
Fresh download of Eclipse RCP, Oxygen
New plugin created with the "Hello World, Command" template
Windows7
Since Oxygen the xmlrpc issue does not occur in the console but as an extra popup window, which I find even more annoying and confusing. The console shows following additional output:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [bundleresource://555.fwk1347294617:1/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://555.fwk1347294617:2/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
08:49:41.650 [Worker-1] INFO c.g.t.t.d.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read.
!SESSION 2017-09-04 08:49:32.846 -----------------------------------------------
eclipse.buildId=4.7.0.I20170612-0950
java.version=1.8.0_144
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE
Framework arguments: -product org.eclipse.platform.ide
Command-line arguments: -product org.eclipse.platform.ide -data D:\eclipse\workspace/../runtime-EclipseApplication -dev file:D:/eclipse/workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse Application/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog
!ENTRY org.eclipse.egit.ui 2 0 2017-09-04 08:49:41.847
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\eis'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
Could this be the reason why launching my plugin is failing?
I guess not. My plugin does not seem to be influenced by those warnings.
The git warning can be disabled in the Eclipse Team preferences, as the warning itself suggests.
The slf4j warning can be resolved by removing the plugin ch.qos.logback.slf4j, also see multiple slf4j bindings in Eclipse RCP Plugin
If you manually change the plugin selection, please be careful and use the Validate Plug-ins feature to make sure you don't create other dependency issues.
If you have additional plugins installed, you might see even more warnings, e.g. from checkstyle:
!ENTRY org.eclipse.ui 2 0 2017-09-04 10:09:32.926
!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points.
!SUBENTRY 1 org.eclipse.ui 2 0 2017-09-04 10:09:32.926
!MESSAGE Commands should really have a category: plug-in='net.sf.eclipsecs.ui', id='CheckstylePlugin.PurgeCaches', categoryId='net.sf.eclipsecs'
!ENTRY org.eclipse.ui 2 0 2017-09-04 10:09:33.622
!MESSAGE Warnings while parsing the commands from the 'org.eclipse.ui.commands' and 'org.eclipse.ui.actionDefinitions' extension points.
!SUBENTRY 1 org.eclipse.ui 2 0 2017-09-04 10:09:33.622
!MESSAGE Commands should really have a category: plug-in='net.sf.eclipsecs.ui', id='CheckstylePlugin.PurgeCaches', categoryId='net.sf.eclipsecs'
=>It's kind of a mess. Therefore it might be a good idea to make a copy of the "default" warnings that can be ignored. Then it will be easier to see if a warning is related to your own plugin/recent changes.
Edit
I filed a bug for the checkstyle warnings and thanks to Lars Koedderitzsch they will be resolved with version 8.5.0:
https://sourceforge.net/p/eclipse-cs/bugs/428/
After trying different stuff: I did:
help>Install new software
and added this repository:
http://download.eclipse.org/tools/orbit/downloads/drops/R20190226160451/repository
taken from orbit: https://download.eclipse.org/tools/orbit/downloads/drops/R20190226160451/
select the ones related with .javax, xml stream
It worked for me.
Eclipse Modeling Tools
Version: 2019-03 (4.11.0)
win 10
If you have EclipseLink 2.5.2 installed then it is a known bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=456174
To fix, update to the latest version using this update site: http://download.eclipse.org/rt/eclipselink/updates/
Choose a newer version than 2.5.2
NOTE: I had to uncheck the "Hide installed version" checkbox to install after adding the update site as it seemed to think it was installed though it showed the software as NOT being installed when I unchecked the box.
Once you have installed the newer version you restart Eclipse and then:
1. Select menu: Run -> Run Configurations
2. Click the button "Add Required Bundles"
It should all work fine after that
If you are trying an RCP E4 application with features, try add org.eclipse.e4.rcp to your dependencies in the product -> dependencies pane. And do "add required". That solved my problem
If you simply want to ignore these errors, you can go to Run > Run Configurations > Plug-ins, and uncheck "Validate Plugin-ins automatically prior to launching" at the bottom.

Cannot install Eclipse Plugins

I have the Eclipse IDE for Java Developers (Juno) installed, and when I went to try to install plugins, Eclipse spat this:
!ENTRY org.eclipse.equinox.p2.ui.sdk 2 0 2013-02-24 20:54:28.703
!MESSAGE Could not locate the running profile instance. The eclipse.p2.data.area and eclipse.p2.profile properties may not be set correctly in this application's config.ini file.
What should I do to fix this?