STS 3.6.2 Disappearing context menu items - eclipse

So I upgraded to Spring Source Tool Suite 3.6.2, and I've been having a few problems. The current one is now for some projects I get incomplete context menus:
Some notes:
It's only for some projects, not all
The items that are blank vary, sometimes the full menu shows up
I've tried STS.exe -clean
I've tried deleting the .metadata folder
I've tried changing the theme
It appears to correlate with SVN projects where the Team menu item never shows up
To elaborate on the last point, all 20 or so of my projects are on SVN. For the ones where the menu seems funky (at least on the 5 or so I tested), when I could get the full menu to show up, the Team menu doesn't. This is even on a fresh STS install without SVN Connectors.
I just tested a new install of STS, and things were working fine until after restarting after an install of IvyDE. Ivy is needed for some of the projects, I haven't analyzed the correlation yet. I will try to remove that and report back.
This is also happening for two other people on my team, with brand new computers (and thus, workspaces).

It was IvyDE. Specifically the 2.2.0.final-201311091524-RELEASE version (takes breath). I'm going to try to find a version that works. My SVN stuff is not causing any problems.
Update
I've fixed my issues. I used a development build from the CI trunk build artifact site at: https://builds.apache.org/job/IvyDE-updatesite/lastSuccessfulBuild/artifact/trunk/build/
The versions included were:
Apache Ivy 2.5.0alpha_20141106222552
Apache Ivy Ant Tasks 2.5.0alpha_20141106222552
Apache IvyDE 2.3.0beta1-201409280037-hudson-296
Apache IvyDE Resolve Visualizer 2.3.0beta1-201409280037-hudson-296 (Optional)
Note that I tried just updating IvyDE to 2.5a, but still had issues. Updating Ivy fixed all my issues so far.
I filed a bug with Apache: https://issues.apache.org/jira/browse/IVYDE-377

Related

Broken Spring Configuration Editor in Eclipse

I am having slight difficulties as of late with my eclipse installation. Necessary Background information: We decided to use a specific version of the Spring Tool Suite (3.8.1 to be precise) with a specific set of plugins as our common developing environment.
So what we did is this, we fetched the 3.8.1 STS, modified the default config so work with our gradle plugins and then repacked that so it could be easily distributed in our network.
After this, we installed the plugins in one of the clients and then pushed the plugins and dropins folder onto our network share as well, so we could easily update the plugins without having to repack the entire thing every time we decide on a plugin upgrade.
This worked fine on almost all machines, except one, but we this that has something to do with the fact that the user in question has a second version of the Spring Tool Suite on his Computer.
However, roughly 2 days ago, I had to reset my installation because I carelessly updated too many modules and was unable to use the installation history to revert to the previous setting.
After I removed my current installation and purged the workspace, I reinstalled, reimported my projects and tried to work. This went fine until I tried to open a Spring Bean Configuration xml file with the provided Spring config editor - My IDE showed just an empty tab without title or content. After that, I tried to open the same file with any other internal XML editor, all showed the same - an empty tab. When creating a new Java Project, all XML Files are opened and displayed correctly though. But as soon as I try to open an XML file with the Spring Config Editor, I cannot open XML files in that project at all - except with a regular text editor.
Plus, sometimes my workspace gets addled by that so it generates an error and prevents eclipse from even starting.
Does anyone have any idea why this could be happening and what to do against it?
More Specs:
STS Version: 3.8.1
Eclipse Version: Eclipse Neon
Plugins: (all fetched on Jan 11, 2017)
Buildship Gradle Integration
Minimalist Gradle Editor
EclEmma & JaCoCo
SonarLint
Eclipse Metrics
Thymeleaf Content Assist
JBoss Community Plugins
A solution here was to use STS -clean, as that cleanes the data one most often misses.
in this case, it was workspace metadata that seems to have caused the error.

Eclipse: web project imported from version control not finding classes from server runtime

I have a web project working in eclipse juno using tomcat 7 on one machine. I exported this project to subversion, and imported it into a fresh workspace of eclipse juno on another machine which also has tomcat 7 installed. To fix errors, I then set up the runtime "Apache Tomcat v7.0" on the second machine, and selected Projects/Clean/Clean all.
Now, my project has a list of libraries that includes "Apache Tomcat v7.0 [Apache Tomcat v7.0]", under which are listed all the jars in my tomcat installation, including servlet-api.jar, which eclipse is able to tell includes the package javax.servlet.http. However, I have hundreds of compiler errors from my source of the form "The import javax.servlet.http cannot be resolved" etc. Short of deleting and recreating the project (which might fix the second machine, but I worry that it will stop the project working on the original machine) what can I do to fix this?
Correction: the machines are running eclipse juno, not indigo as I previously stated.
If you did a refresh on the tree and a clean/build and the errors still exists, it must be the case, that they are not within the build path (check .classpath file).
So even though you may have checked it before, you should go there again and see if they are on the build path and maybe delete it and include them again.
Additionally, maybe this article about the specific problem helps.
Turns out that this is a fairly simple and annoying but otherwise harmless eclipse bug -- it seems as though the list of libraries that constitutes a particular runtime is cached when the project is loaded, and doesn't get updated if the library list changes (e.g. because the runtime didn't exist when the project was imported, but was created afterwards). Restarting eclipse causes it to reload the list, after which a project clean gets rid of the errors.

Two Eclipses on same Maven repository

I have one single external installation of Maven 3.0.4 and two Eclipses (Juno and Indigo) referring it in their m2e settings.
Also I have one single user setting file which describes one single local repository. Both Eclipses refer it.
I have a problems with Maven which can be suspected as conflict between Eclipses.
For example, one of Eclipses (say Indigo) can be blind concerning some global repository (say central). This means that it's subnodes in "Maven Repositories" view of eclipse are empty
Updating/Rebuilding index does not help and probably does nothing since ends very fast.
Reloading settings also does not help.
The question is: is it possible to use one single maven with several Eclipses? Is it possible that principal multiuser system does not support multiusing?
Where the data can be corrupted?
You would be better of ignoring the Eclipse specific installs of Maven.
I have found that relying on pre-installed software on Eclipse, leads to problems for the following reasons.
You will never know exactly what version of maven they have installed and why (finding out is harder than installing yourself)
If it won't run in the IDE, what chance will your build server have (and you will meet those problems in Jenkins or your CI server when it comes to release time)
It is very easy to install Maven yourself and run it from the commandline and less problematic.
http://maven.apache.org/download.cgi
If there is a team of developers using maven think about hosting it yourself on a nexus server.

Eclipse entries under launch group are missing

I do C++ embedded development for the NetBurner platform. They have plug-ins that customize Eclipse and in addition to a build tool-chain they add a Launch Group under the Run Configuration area. Everything was working fine under Indigo (32 bit) when I decided to install Subclipse (big mistake). As soon as the install finished I could no longer run my existing configurations successfully. When I went into the Run Configurations area I noticed the Launch Group I used to use was missing. Here is what it looked like earlier yesterday:
Here's what it looks like today:
Things I've tried
First I uninstalled the Subclipse plugins using the
Help->About->Installation Details and then selecting them one at a
time, Uninstalling and restarting after each uninstall. No change.
Then I unpacked the original Eclipse Indigo/CDT 32 bit download to a
fresh folder. Copied over the NetBurner plugins from the zip I got
from the manufacturer. No change.
Launched with different Workspaces, no change.
Launched a Galileo version, it uses older plug-ins, and it still
works.
Copied older plug-ins into Indigo, the older NetBurner launcher
shows up (but it doesn't really work with Indigo)
Removed the older plug-ins put in the newer ones, old NetBurner
launcher went away new launcher does not show up.
Tried removing the
{Workspace}.metadata.plugins\org.eclipse.debug.core.launches - no
change.
Interestingly even though launches has many .launch files that should show up under Run Configuration, nothing shows up.
One other strange (possibly relevant) thing is that icon for the NetBurner Perspective went away, now it just has <NetBurner> as the text and a generic perspective icon.
I can still cross-compile and build for the NetBurner (i.e. the build toolchain still works), it's just the ability to use run configurations that seems to be missing.
I'm out of ideas, does anyone know of some global setting that sits outside the workspace and outside the Indigo installation folder that could be causing this?
I'm running on Win 7 64 bit ultimate, I run the 32 bit version of Indigo because the 64 bit doesn't appear to work with the NetBurner plug-ins. I've also disabled the two Mylyn tasks under General->Startup and Shutdown (they seemed to cause many Permgen memory crashes). This is the same setup I had working flawlessly yesterday.
Update
I also noticed that only 3 of the 4plug-ins are showing up in the Installation Details plug-in pane. The nbeclipse.core_2.6.0.jar is in the eclipse plugin directory but not showing as loaded. So I guess I know now the problem is the plug-in isn't loading but I don't know why or how to get it to load, or what subclipse could have changed that would cause this.
I suspect that the Subclipse installation may have caused an update to some other plugin(s) that it depended on (keep in mind the transitive nature plugin dependency resolution; if you're installing plugin A and it requires a certain version of Plugin B that you don't have, Plugin B will be installed or updated to that version). In doing so, maybe the NetBurner plugin can no longer load because its declared dependencies are no longer met (ie, it depended on an earlier version and does not tolerate a later version).
You can use the OSGi Console to help determine why a plugin is not loading. Here are a couple of references that should help:
http://grep.elasticpath.com/community/techblog/blog/2010/05/27/eclipse-plugins-and-the-osgi-console
http://www.vogella.com/articles/OSGi/article.html#osgiconsole
By the way, you can not just copy plugins into an Eclipse installation and expect them to work. For several versions now, Eclipse has not supported that ability. You must use Help > Install New Software or File > Import > Install > From Existing Installation to install plugins. Ask the vendor if they have an update site to install from; like I said above, simply dropping things into Eclipse's plugins folder is not supported any more, it won't work. Other than the vendor providing an update site, the only other option is to use the dropins folder, as described here.

Eclipse stopped deploying any of the project's [maven] dependencies to tomcat

I'm having this problem for a while now. I tried so many things that failed that I had to switch to netbeans in order to be able to develop. But netbeans lacks some important features, so I really need this to work in eclipse.
From scratch:
I have a "parent" maven project with several modules in our svn repo. 2 of the modules are web projects that I need to deploy in a tomcat server. These web projects have several dependencies, among them are the other modules of the parent maven project.
I had this configuration running with eclipse ganymede, but 3 weeks ago I started to get ClassNotFoundExceptions while starting the server, I have no clue why this started happening.
Since then I've tried to get new Eclipse (Java EE) packages, but no matter how I do it, this is what happens:
I get eclipse with maven+svn running and add my tomcat installation to eclipse's server list.
I check out the parent project, this includes the modules. Eclipse gives me a whole list of projects.
The crap starts: I cannot add the 2 web projects to the tomcat, it tells me no projects can be added (meaning "you dont have any web projects!"). Also, I cannot choose "Run as -> Run on Server" on Servlet classes ("Selection did not contain any resources that can run on a server"), even though they clearly extend HttpServlet. Since I spent way too many hours into this, I found out how to deal with this: Convert the project into a "Faceted Project" in the project's properties.
Now I can add both projects to the tomcat server
When starting the server, i get
FATAL: Error loading WebappClassLoader
context: /BEWeb
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader#55ae3b4d
de.comp.utils.servlet.SInvokerServlet
This class is in one of the modules that are listed as a dependency
WEB-INF/lib of the deployed project ist empty. No libs at all, maven and/or eclipse doesn't do what it did 3 weeks ago.
I tried messing around with the eclipse files in .settings and also with .project and .classpath, but nothing useful turned out.
Can someone point me in the right direction? I'll do everything from scratch if you need me to, it would not make a difference as I did this a lot of times already (with different versions of eclipse, maven, tomcat, ...)
If you need me to post any files, I'll be happy to comply.
Since this kept me awake at nights for quite some time now, I'll put a bounty on this one.
thx so far.
================================
EDIT in order to answer the upcoming questions
Just to check: building your projects from the command line and deploying them by hand does work, right?
Yes, mvn package works fine, copying that .war file to tomcat results in a working application, also the war file contains all dependencies.
When you say "get new Eclipse (Java EE) packages", do you mean you are now using Eclipse Indigo (3.7)?
Yes. But I had the same problems with 3.5, the eclipse versions didn't show any difference in their behavior.
When you say "I get eclipse with maven+svn running", are you using m2eclipse or have you generated eclipse configuration using maven eclipse plugin?
I have m2e installed and checked out the projects from svn using "Right click -> Checkout as Maven Project". There are no eclipse-specific files in the repository though, it seems they are being generated upon checkout.
When I use mvn eclipse:eclipse, then close+reopen the projects, I cannot add them to the tomcat server ("There are no resources that can be added or removed from the server"), meaning that eclipse does not recognize them as web projects.
First of all: do not use the maven-eclipse-plugin together with m2e/m2eclipse, the two are not compatible. m2e should be able to import your Maven projects and set them up as Eclipse expects.
Did you install the WTP add-on for m2e? This blog post may be worth reading.
If any of your pom.xml files invokes any specific plugin (e.g. for code generation) you may need a corresponding m2e add-on. This wiki post may give you an idea of why.
Another attempt you might consider is setting up a Helios based environment. Check that all the plugins you might need are still available, though.