Replace Eclipse with Sublime Text 2/3 for java - java

Has anyone managed to build out a way to use Sublime Text 2 (or 3) instead of eclipse for their java-based app? We've got java in eclipse (mac), with maven and git support. We don't 'build' in eclipse, per-se. Instead when necessary we just either refresh the projects or restart the tomcat server--usually though, we can just make changes and reload the browser.
To be clear, the app is single-page-architecture built on java/mysql, with a dojo javascript framework on the front end.
Suggestions?

There is no problem with switching to SublimeText2/3 in almost any language.
There are multiple git packages that help you with using it, such as full integration, merges and everything else you may need.
Even if you would build or simply needed to restart the tomcat server you can write your own build system that will run everything you need just like you would manually do in terminal.
SublimeText works exceptionally well with JS and it's frameworks as well as code-in-code - different languages one in another.
Maven package is available
Now to the parts that you would probably miss when switching from other IDE's.
IntelliSense - SublimeText has a package named CodeIntel that will help with that, but it's not working that good in comparison to other IDEs.
MySQL - SublimeText has no way to integrate DB management.

Related

Local development setup

I'm currently looking into what better ways there are for deploying/setting up webapps locally after code changes and database changes.
So far I've seen the following tools/ways come by, and attempted each of them:
ANT build target that compiles, makes a jar, a war file and deploys that to the tomcat folder
Gradle build in combination with the tomcat plugin, which already does a bit of a better job than option #1
Good ol' fashioned command line
Setup run configuration within Intellij to do the deployment for you
Write shell script and call this via command line (haven't tried this)
To be honest I'm not finding each of these the ideal solution. I find option #4 the easiest as it allows me to, via a short-cut, easily deploy my changes and continue. This has however not given me an option for database changes yet, probably just me that missed it.
My question is mainly what tools/ways are you guys using in order to achieve an easy and maintainable development environment? What considerations come with those?
Well, let me tell you what I do for local web app setup.
In your favorite IDE(eclipse in my case) i'll configure the application server plugin(tomcat or webpshere) from Eclipse marketplace.
This setup will help to auto publish code changes to the server whenever I make a change in the application. I use Maven build tool for the application packaging. However I'm not sure about the database side.
For the people that were wondering how I ended up doing and found the best to work for me.
I currently have configured my IntelliJ IDE in such a way that the tomcat instance is linked and can be properly controlled and deployed, including debug, from within IntelliJ itself. This allows me to, via an easy shortcut, instantly populate any resources changes (css, javascript, front end) or redeploy or even restart the server. Especially with a small application this works very well.
It is yet to be determined whether this would still work with a multi-module setup and a larger project size.
Should you want more information on how this configuration can be achieved, feel free to send me a direct message.

Can Intellij IDEA exist in a Netbeans Shop?

All my other colleagues use Netbeans, but I have an opportunity to use IDEA. Will we be able to work on the same Java EE projects together, or will we have issues with projects, checking in and out of SVN, etc?
We primarily develop EE and Spring MVC applications using Glassfish on our desktops, and commit to an SVN, although it is possible that I may have to load a coworker's entire projec.
As long as you are using some standard, IDE-agnostic build tool like maven, I see no problems. I work on IntelliJ IDEA while my colleagues use Eclipse - no issues except different formatting rules or import order - all of this can be customized.
Subversion (or any other VCS) is the least of your problems. Even if the rest of your team pushes Netbeans project metadata files, IntelliJ will simply ignore them.
If you use Maven as your build tool, then yes (and Eclipse too).
All three have tooling allowing them to work well with Maven projects.
If you are using "plain" Netbeans projects I do not think that IDEA can work with them. If so, I suggest you lobby for the change. Maven is one of the investments that pay well of.
Why would you want to fly in the face of convention and be the only one on a different IDE? You'll waste time on issues that nobody else has, have formatting hiccups, struggle with pair programming etc.
As much as I like freedom of choice, the development environment within teams should be consistent.
I thought build tools like ant, maven or gradle are de-facto standart of java ee industry. Purpose your teammates to use it.
You will have issues with sharing projects, because the project folder and structure for Netbeans and IDEA is different.
However, you can attempt to share your src folders with one another and update your codes with one another through SVN, though I wouldn't advise it for compatibility reasons because you won't be able to properly share libraries and use other team functionality available in NetBeans.
So it won't be a good idea to use a different IDE so you don't waste time debugging compatibility.
Also, its useful to note that IDEA uses its own custom libraries for certain functionalities, and also build projects in a different way from NetBeans, so projects that appear to work on IDEA may not work on NetBeans and vice versa.
Bottom line, don't waste your time using a different IDE from the rest.

Issues with Eclipse constantly performing clean/build

We recently started using Eclipse to develop our java application and have been running into some issues. It should be known that we do not use any version tracker, or build software which probably is not best practice, although I was hoping to find an alternative solution to our problem. We have up to 4-5 developers who could be editing a particular project at one time. Throughout our work days, we constantly run into Eclipse wanting to clean/build the project as certain files are edited. We were previously developing using TextPad and compiling at the command line, and would ideally like to use Eclipse in a similar fashion to make coding easier. Is there anyway to setup Eclipse to do what we're trying to do, or will we need to start using some kind of version tracker?
You should definitely use version control, for many reasons, not just this issue.
If you're all editing the code in the same location on a share, that'd cause this issue. You can avoid that by everyone having a local copy, which would require version control of some kind.
De select Project -> Build Automatically in your eclipse. You need to manually build your project when you want to. Think this is what you are expecting

Which eclipse should I get to work with Java, C, Bash and Perl?

I'm using eclipse to work on a project with portions written in Java, C, Perl, and bash. Which version of eclipse should I get for this? I'm currently using 3.5-CDT+perl-plugin and would really like better Java handling with out loosing the C. What plugin should i add for java?
How does Eclipse handle multi-language projects? when I hit "new project" what do I click?
can I add a new language to an existing project?
is there some other IDE that handles multi language projects?
Once you start adding plugins, the Eclipse that you start with doesn't matter. They just happen to provide commonly used sets of plugins prebundled - it's the same core Eclipse under the hood. Whenever I've worked with Eclipse, I've always started with Eclipse Classic and added the plugins that I want to use.
As far as multilanguage projects, I can't address that. I've never used Eclipse (or any other IDE) for multilanguage projects. I've used NetBeans with projects of different languages, but each project was of a particular language.
For perl, try using the Epic plugin. Update site: http://www.epic-ide.org/updates
The nice thing about eclipse is that whatever "version" you pick, you can add the updates from other versions (usually) without too many problems. Pick the version you use the most features of, then go back and add additional plugins as desired.
The best Eclipse is the one that installs the cleanest on your current OS setup. Most of the Eclipse issues I've had have had less to do with the language (the exception being PHP) and more to do with my underlying OS. That said, I haven't even had those issues in a couple of years.

Eclipse Web Tools Platform (WTP) vs NetBeans - IDE for Java Web Development

When going to Java Web Development such as JSP, JSPX & others.
What IDE do you consider Eclipse or NetBeans?
What are its advantages and disadvantages?
Which is better preferred in-terms of developing Web Applications such as Websites, Web Services and more. I am considering NetBeans because it has already bundled some features that will allow you to create and test web applications. But is there a good reason why choose Eclipse WTP?
From a micro perspective, Netbeans is a more consistent product with certain parts more polished such as the update manager. I am sure you will find all everything you need in there.
Eclipse is sometimes a little less stable simply because there is still alot of work going on and the plugin system is usable at best. Eclipse will be faster because it uses SWT which creates the UI using native code (so, it will look prettier as well).
At a macro perspective thought, I'm sure you've heard on the news of the recent acquisition of Sun by Oracle. Well, let's just say I'm pretty sure Netbeans is pretty low on Oracle's priorities. On the other hand, Eclipse has big blue (IBM) backing it. So, in the long run, if you don't want to end up in a dead end, go for Eclipse.
I used both Eclipse and NetBeans. I like NetBeans more than Eclipse. From Java editor point of view, both have excellent context sensitive help and the usual goodies.
Eclipse sucks when it comes to setting up projects that other team members can open and use. We have a big project (around 600K lines of code) organized in many folders. Eclipse won't let you include source code that is outside the project root folder. Everything has to be below the project root folder. Usually you want to have individual projects and be able to establish dependencies among them. Once it builds, you would check them into your source control. The problem with Eclipse is that a project (i.e .classpath file) dependencies are saved in user's workspace folder. If you care to see this folder, you will find many files that read like org.eclipse.* etc. What it means is that you can't put those files in your source control. We have 20 step instruction sheet for someone to go through each time they start a fresh checkout from source control. We ended up not using its default project management stuff (i.e. classpath file etc). Rather we came up with an Ant build file and launch it from inside Eclipse. That is kludgy way. If you had to jump through these many hoops, the IDE basically failed.
I bet Eclipse project management was designed by guys who never used an IDE. Many IDES let you have different configurations to run your code (Release, Debug, Release with JDK 1.5 etc). And they let you save those things as part of your project file. Everyone in the team can use them without a big learning curve. You can create configurations in Eclipse, but you can't save them as part of your project file (i.e it won't go into your source control). I work on half dozen fresh checkouts in a span of 6 months. I get tired to recreate them with each fresh checkout.
On the other hand, NetBeans works as expected. It doesn't have this project management nightmare.
I heard good things about IntelliJ. If you are starting fresh, go with NetBeans.
My 2cents.
I use Netbeans mostly for development, and can say it's pretty good in providing most of the features I need. Code completion, one click compiling and deployment, even version control. If you need a feature not found in the core, you can also choose from a good variety of plugins. As far as I am concerned, Eclipse have a very similar feature set, though I did not work with it in detail.
However, netbeans have serious memory problems, and is very demanding on available memory, and I have seen it eat up 400-500MB of ram after repeatly deploying my app for debugging. Other than that, I say Netbeans is quite fast (if memory is adequate).
Aptana for Eclipse was I using some months ago but changed to NetBeans. It has less feature but the out-of-the-box things were nearly the same as Aptana after 2 hours customization.
Each software has some slowdowns and memory leaks, some annoying code validating bugs.
But NetBeans is better in code completing, rarely slows down, can manage 1 mb javascript files. That's why I changed from Aptana for Eclipse to NetBeans.
Other Eclipse tools I used before was lacking the things which are in Aptana and NetBeans by default. And although I am using some plugins, I don't like hacking on the IDE for days to achive a usable program.
For me:
NetBeans +
Eclipse -
From my own experience, while Eclipse provides you with tons of plugins, that is not always guaranteed to meet your expectation. I had so many problem with Eclipse plugins, ranging from different versions of Eclipse itself to the multiple plugins prerequisite for a plugin.
Plugins in NetBeans is so easy to install, but yea, it is not as many as Eclipse's.
Feeling clunky while using Eclipse also led me to move to NetBeans. While SWT is nice GUI, its load time takes considerably a long period of time compared to NetBeans Swing. But, be warned, NetBeans feels good if and only if you are using Windows platform. Apparently Swing in Linux (at least on Ubuntu 10.10) blows. Each time I click on a file in Project Manager, it tries to rename it. But this happens only if you use NetBeans in Linux.
Another point of me moving to NetBeans is the project management window. In Eclipse it sucks and does not work as what I expected. If you had ever use Visual Studios IDE project/solution view, NetBeans is the closest one resembling it.
Both consumes a lot of memory. Even worse, the Swing GUI takes a long time to load after you wake up your machine from Hibernate/Sleep. No joke. Happens to me all time.
Anyway, this is purely my opinion. Hope this helps.
Go for eclipse for unlimited plugins(free).
I was a fan of Eclipse for long time. Specially when I developed plugin and Android program.
Now I have to work with some project with maven build system and tomcat (web app), and found Eclipse too much complicated to load and debug and changes to take effece from any jsp file. And Netbeans is so smart in this regard. Even debugging with Tomcat webapp is so easy with Netbeans. So I moved to Netbeans.
At least for now, for web app development, Netbeans is the best, I guess.
Also auto completion in Eclipse for Mac, is a nightmare to me. I could not make it work with Ctrl+Space, since its a shortcut for Sptolight/Keyboard change by default. I did not use netbeans with mac yet, but I shall try.
For GUI, the WindowBuilder or Jigloo, always crush in Mac. Netbeans GUI designer was better in that sense.

Categories

Resources