How I can debug the installed eclipse plugin - java

I have installed some JAVA plugin to the Eclipse. This plugin does not provides the source files (as this plugin contains only a set of JAR files). So, right now I want to "reverse engineering", to debug this plugin (to understand how it does work).
I know that I can run the Eclipse (which includes this plugin) in a "server" mode and then it will wait the remote 'GDB' connection.
Also, I have heard that I can use the Intellij IDEA as an IDE to remote debugging, to debug that Eclipse (with its plugin). But a main issue is that I have not a sources of that Eclipse plugin and I can't open it in Intellij IDEA.
So, my question is: is it possible to debug the eclipse JAVA plugin which has not a sources? And, if yes, then, how I can do it?
BR,
Denis

Using Intellij IDEA for this is nonsense--this is little different from debugging a plug-in when you do have the sources available, and plug-in developers have to do that all the time.
1) Install the Plug-in Development Environment. It's found in the Eclipse Project update site you should already have built-in.
2) Import the plug-in into a project in your workspace. Be sure to look for
3) Launch an Eclipse Application using a different workspace from the Debug menu.
This essentially takes what's in the Target Platform preference page, adds the plug-in from your workspace, and runs a copy of Eclipse with all of that mixed together. It's a different JVM process and should have its own workspace directory.

Related

Not all Gradle projects are created equal, according to Netbeans

I'm checking whether we'd be able to migrate from Ant to Gradle, but got confused right at the very beginning of these checks - Apache Netbeans 12 LTS (+ Gradle plugin from official repo) refuses to properly open Gradle projects that were created by a another Netbeans instance, which is a major pain.
I tried to open (in Netbeans) one of the Java library project examples from Gradle docs, only to find out the IDE immediately spews out errors (missing imports for tests) that are unjustified and offers a very limited amount of IDE integration - forget running specific tests, even debugging is all grayed out. Gradle and Netbeans also see different classpaths.
If I create a Gradle project inside Netbeans, everything works fine - no errors, Projects Tree shows an additional tree node, called "Configurations", like in the image below, I'm able to debug and everything just works.
However, even if I just copy/paste this project's directory to a different location, everything breaks after the project is reopened (I also get this issue, same thing happens for example projects found in Gradle docs).
What is going on here? Netbeans seems to know more about a project it created, than about projects that were created outside it or were just relocated. How do I force it to treat all Gradle projects equally (so that they work as expected)?
I used Gradle 7.0.1 and let the New Projects wizard "Initialize the Gradle wrapper" for the project created inside Netbeans 12 LTS. The setting to prefer existing wrappers is enabled in settings if relevant.
Enabling an "experimental" option in Gradle options, called Enable 'lazy' Source Group Initialization does help with simple projects that were created by Netbeans, so they open as expected.
But this does not work for Gradle projects that contain subprojects, such as the example project from Gradle docs:
The issue tracker for this Netbeans plugin has been quite active recently, mentioning issues like this, so perhaps there is hope.
At least part of the problem is that the LTS release of Netbeans (at the time of this writing) doesn't support gradle 7. The latest release, Netbeans 12.4, is the first version that supports gradle 7.

Converting an Eclipse Java project into an SVN project?

So I am trying to do something slightly unusual.
I checked out a project using Tortoise SVN, and then I imported that project into Eclipse as a Java project, and I can build the project fine.
But I would much rather use Eclipse's Subversion plugin than Tortoise SVN to check in files, update, compare diff's etc.
So is there any way I hook that Java project back into SVN in Eclipse, and then be able to check in files etc through Eclipse.
Note that checking out the project again using Eclipse is not an option for a few different reasons.
Thanks.
Right click on the Project and select 'Team > Share Project...' to set up SVN on the project.

Jmeter with Eclipse

I'm learning how to build Jmeter with Eclipse.
I followed some online steps and downloaded Jmeter binary and source files, unzipped them into the same directory, created a java project in eclipse and used ant build but when i build i got the following error
\workspace\apache-jmeter-2.11\build.xml:801: Class not found: javac1.8
I'm using JRE8, JDK1.8 and ant 1.9.4.
Saw some similar post with answers saying that this is an issue with ant version < 1.9 but i'm already using ant 1.9.4.
Help please.
As that is a problem encountered with versions of Ant which are not compliant with Java 8, I suggest you check your Ant configuration. Go to your Eclipse settings and check it. Then, check your project settings, maybe you have project-specific settings which override your general Eclipse settings.
In the settings, you can choose which Ant install you want to use. By default, Eclipse is using it's own, which is probably not the last available. If you have installed Ant 1.9.4, you should select "External installation" or something, with the version of Ant you installed.
More infos here: http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftasks%2Ftasks-ant-version.htm

Managing Maven project in Eclipse with git repository

we recently migrated to Maven Build manager & git hub repository for our Java web-app. Also i switched to eclipse as eclipse has good set of plugins.
As a new bie, i am simply running mvn clean package from terminal at the code root directory. And then moving the compiled code i.e., /target/SNAPSHOT/* to tomcat/webapps/ROOT location.
And then starting Tomcat7 server. The process is time taking especially when i do code changes in Java & configuration .xml files.
I want to do it completely in IDE environment as i did earlier in Netbeans, update code -> build and run in debug mode, -> do code changes and then commit.
Heard of egit & m2e in eclipse for maven & github integration, but not sure how to use it.
Please walk me through the steps required in doing so. I am completely new to eclipse.
--
Thanks
You might want to consider using maven-jetty-plugin http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin for running the webapp. You will not need to copy over stuff to tomcat. After configuring this plugin, you can simply run your application by doing mvn jetty:run
I generally do not like running webapps inside Eclipse. It's a personal prefrence, but it is always nice to have an IDE neutral way of building and running your applications. If you have m2e things should work simply fine. I have seen maven-jetty-plugin having hot pluggability where if you changed your web.xml, jetty would reload your application.
We use Git for version control and Maven for dependency management and build automation. Once your project has successfully imported into Eclipse and recognized as a valid java web project, you don't need either Git or Maven in order to build/run it inside IDE. Just creat a server using you existing tomcat installation, add the project to server, then select Run as > Run on Server.
The Complete Guide:
Creating a server
Adding projects to a server
Starting a server
For more details, check out Testing and publishing on your server.

Debugging Maven Web Application on already installed Glassfish using eclipse

My problem is with respect to debugging web application on an already installed glassfish using eclipse.
If I create a web project using eclipse then eclipse will let be deploy and debug application on an already installed glassfish application server. However, if I have created a web project using maven archetype, eclipse does not let me debug the application.
I can use maven's jetty or tomcat plugin and debug the application but I need to debug application on an already installed glassfish. Basically I have followings
1) Web application created using maven archetype
2) Eclipse IDE
3) Glassfish which is already installed outside of Eclipse IDE
I came across maven's glassfish plugin but as far as I understood it is not for debugging the application.
Please let me know your suggestions.
Thanks
If I create a web project using eclipse then eclipse will let be deploy and debug application on an already installed glassfish application server. However, if I have created a web project using maven archetype, eclipse does not let me debug the application.
This is not true. Whether you use the Maven Eclipse Plugin (which provides WTP support) or m2eclipse (with the optional Maven Integration for WTP installed from the m2eclipse Extras), you can deploy a project created outside Eclipse to an existing "Server" (that you can start in Debug mode), as long as you imported it appropriately (Import... > Existing Project into Workspace if you use the former, Import... > Maven Projects if you use the later).
Basically I have followings 1) Web application created using maven archetype 2) Eclipse IDE 3) Glassfish which is already installed outside of Eclipse IDE
I use the same setup with several projects with no problem (and can debug them on my locally installed GlassFish server).
I came across maven's glassfish plugin but as far as I understood it is not for debugging the application.
There is no need for extra Maven plugins, you can just rely on your IDE if you follow the right steps.
I don't know about eclipse, but IntelliJ IDEA has a remote debug feature. You start your server with something like
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5055
and then the IDE will connect to that port and you'll have a regular debug.
I'm sure eclipse has this feature.
EDIT: This article shows how to use this feature with eclipse.
I´m going to write it most for me in order to keep trace of my solution:
If you are using the maven.failsafe plugin just force the execution of glassfish internally the current JVM started by maven avoiding the fork with the parameter
-DforkCount=0
in such way you are able to debug both test and server from the usual way, ie. running a debug task from eclipse and setting break points both in test and in server side.
Extra parameter information could be found here, including setting different debug port:
http://maven.apache.org/surefire/maven-failsafe-plugin/examples/debugging.html

Categories

Resources