Skip to content
CMO & CTO
CMO & CTO

Closing the Bridge Between Marketing and Technology, By Luis Fernandez

  • Digital Experience
    • Experience Strategy
    • Experience-Driven Commerce
    • Multi-Channel Experience
    • Personalization & Targeting
    • SEO & Performance
    • User Journey & Behavior
  • Marketing Technologies
    • Analytics & Measurement
    • Content Management Systems
    • Customer Data Platforms
    • Digital Asset Management
    • Marketing Automation
    • MarTech Stack & Strategy
    • Technology Buying & ROI
  • Software Engineering
    • Software Engineering
    • Software Architecture
    • General Software
    • Development Practices
    • Productivity & Workflow
    • Code
    • Engineering Management
    • Business of Software
    • Code
    • Digital Transformation
    • Systems Thinking
    • Technical Implementation
  • About
CMO & CTO

Closing the Bridge Between Marketing and Technology, By Luis Fernandez

Using KDevelop for Java Projects

Posted on November 10, 2009 By Luis Fernandez

KDevelop is known as a home base for C and C plus plus, yet I keep coming back to it for Java projects on Linux. With Oracle buying Sun and everyone guessing what that means for NetBeans, and with Eclipse Galileo everywhere, you might wonder why anyone would wire Java into KDevelop. Short answer. I like one editor that behaves the same way for everything. If you live in KDE all day, KDevelop feels native, fast, and predictable. The neat part is that with a bit of setup, you can get Java plus Ant running smoothly in KDevelop and keep your head in one place.

Why even use KDevelop for Java

There are a few solid reasons to try KDevelop as a Java editor if you already use it for C and C plus plus or Python. You get the same project tree, the same shortcuts, and the same split views. No graphical theme jumps between tools. No new muscle memory. If you work across languages in the same repo, this matters. You can keep your build on Ant or simple shell scripts, point KDevelop at those, and press the same build and run buttons you use on your C work. The editor is snappy and Kate based, so Java files open fast, searches are quick, and the tabs behave exactly how you expect.

It is not pretending to be a full Java studio. You will not get a wizard for every framework, nor a Swing designer that writes code for you. That said, for everyday coding, testing, and refactoring by hand, it holds up better than many people think. The trick is to choose the right project type and wire the build tools properly.

Make KDevelop speak Java without drama

Start with a project type that does not fight you. I have had the best results with a Generic Project or a project that uses a Custom Build System. This keeps KDevelop from trying to be clever and lets Ant drive the actual work. When you create the project, point it at your source folder that contains your src tree and your build.xml. KDevelop will index the files for quick open and searching, and Kate will give you Java syntax highlighting out of the box.

Next, tell KDevelop how to build. Open the project settings, go to the build section, and choose a build tool command that calls ant. Map the default build action to your compile target. Map the clean action to your clean target. If you use a test target that calls JUnit, add it as a separate custom action so you can run tests with one click. Once those are set, the Build menu and the toolbar buttons do what you expect.

Now wire up Run. In the launch configuration, pick an executable type that runs an external program. Set the program to java, the working directory to your project root or your build output folder, and the arguments to the class path and the main class. If your Ant script builds a jar with a manifest that declares Main Class, then have the run command call java -jar yourapp.jar. KDevelop will remember multiple run profiles, so you can keep one for the app and another for tests that need a different class path.

A couple of small but useful tweaks. In Settings under Editor, verify that Java syntax highlighting is active and turn on the matching brackets and code folding options. In the same area, enable word completion and configure a clean tab width and indentation for Java. In the environment settings for the project, set JAVA_HOME to your installed JDK path, whether that is OpenJDK from your distro or the Sun JDK from the tarball. Most Ant scripts assume those are present, and this keeps your build output consistent inside and outside KDevelop.

Daily workflow that actually feels nice

The number one thing I need from an editor is quick movement. KDevelop nails that. The Quick Open feature is great for jumping to a class or a file by name. The project filter is fast enough that typing a few letters takes you to what you want. For searches across the tree, the built in Find in Files is simple and reliable. If you prefer the command line, keep an embedded terminal open in a bottom pane and call Ant or grep there, then pop back to the editor without losing your place.

On the navigation side, KDevelop does basic symbol awareness for Java. It is not a full semantic model like what you see in Eclipse for Java, but with ctags around you can jump to definitions a lot of the time. Even when it misses, the fuzzy file open plus a small search gets you there quickly. Bookmarks and code folding help when you are holding a long file in your head.

Errors and tests are important. KDevelop parses compiler output and puts problems in a panel you can click through. Ant forwarding the usual javac style messages works nicely here. One click jumps to the file and line. For tests, if your Ant test target prints the standard JUnit output, you get a readable log in the build window. It is not a fancy green bar, yet it is enough to stay in flow and fix things fast.

Then there is version control. KDevelop speaks Git, Subversion, and others through plugins. You get a diff viewer that is readable, a commit dialog that shows staged changes, and blame on a line when you need to find who touched what. For teams that keep a mixed codebase with C and Java side by side, having one client for everything lowers friction.

Finally, small creature comforts add up. The snippet tool lets you keep common code shapes at reach. The external tools panel can call javadoc, checkstyle, or your custom script. The split views make it easy to compare a test file and the class under test. None of this is flashy, but when you use it all day, it matters.

Quality and teamwork without leaving KDevelop

If you care about code quality, you can keep that inside KDevelop as well. The easiest path is to add a couple of Ant targets. One for checkstyle, one for javadoc, one for coverage if you use Emma or Cobertura. Then map those targets to custom build actions in KDevelop. Now you press a menu item and the output lands in the same panel as your compile output. Click through errors in checkstyle, fix the file, rerun. It keeps your loop tight.

For teams, set up a shared style file and enforce it during builds. KDevelop will not fix your imports for you like a big Java studio, but you can wire a simple script that cleans imports based on your build class path, and keep that as another custom action. When everyone runs the same action before committing, diffs stay clean and reviews get easier.

And when you are pairing or sharing your setup, remember KDevelop stores a lot of its project settings in plain text files. Keep those in version control next to the code. Your teammates can pull the repo and be productive without a long tour of settings panels. The one project many languages idea shines here. Web assets, JNI code, and Java classes can live under one roof without turning your toolchain into a circus.

KDevelop vs Eclipse and NetBeans for Java

Let us talk trade offs. Eclipse for Java and NetBeans bring deep refactoring, code generation, and smart completion that understands your class path. They know how to rename across projects, they can extract interfaces, and they will warn you about problems before you press build. If you spend your days doing heavy refactors on complex trees, those features are handy. If you build Swing screens with a WYSIWYG tool, you want what those suites offer.

KDevelop brings a different value. It feels light and quick. It is great for people who work across languages and want one editor that does not get in the way. It is a fine choice for server side Java where the build is Ant based and most code is written by hand. It integrates with KDE so the shortcuts, file dialogs, and general behavior match the rest of your desktop. For small to medium teams, this can make daily work smoother.

What you give up is deep Java awareness. You will do renames with search and careful commits. You will write javadoc by hand. You will not get a fancy profiler baked in. For some teams that is a hard no. For others, the trade is worth it, especially when the rest of the stack is already on KDevelop and the team wants consistency. The nice part is you can mix. Use KDevelop when you are in the Unix parts of your app and hop to Eclipse for a big refactor. Your code does not care which editor wrote it.

Your practical checklist to make KDevelop work for Java

  • Pick project type. Use a Generic Project or a Custom Build System project so Ant stays in charge.
  • Point to your sources. Add the folder that holds src and build.xml. Keep build artifacts in a separate folder.
  • Set JDK paths. Define JAVA_HOME in the project environment. Confirm that ant and java are on PATH inside KDevelop.
  • Map build actions. Compile maps to ant compile. Clean maps to ant clean. Add test and jar as extra actions.
  • Create run profiles. One for your app with your main class or jar. Another for tests if needed.
  • Tune the editor. Enable Java highlighting, matching brackets, code folding, and your preferred indentation.
  • Speed up navigation. Learn Quick Open, set a few bookmarks, and keep a terminal pane open.
  • Wire quality tools. Add Ant targets for checkstyle, javadoc, and coverage. Map them to menu actions.
  • Use version control plugins. Activate Git or Subversion in KDevelop and commit from inside the IDE.
  • Share settings. Put project files and style configs in your repo so teammates get the same setup.
  • Know where it stops. For heavy refactors or a GUI builder, open the project in Eclipse or NetBeans for that task only.
  • Keep the loop tight. Build often, click through errors in the Problems pane, fix, and repeat. It stays fast.

Use one tool well, and stitch the rest with simple scripts, and KDevelop will serve your Java work better than you might expect.

Productivity & Workflow Software Engineering

Post navigation

Previous post
Next post
  • Digital Experience (94)
    • Experience Strategy (19)
    • Experience-Driven Commerce (5)
    • Multi-Channel Experience (9)
    • Personalization & Targeting (21)
    • SEO & Performance (10)
  • Marketing Technologies (92)
    • Analytics & Measurement (14)
    • Content Management Systems (45)
    • Customer Data Platforms (4)
    • Digital Asset Management (8)
    • Marketing Automation (6)
    • MarTech Stack & Strategy (10)
    • Technology Buying & ROI (3)
  • Software Engineering (310)
    • Business of Software (20)
    • Code (30)
    • Development Practices (52)
    • Digital Transformation (21)
    • Engineering Management (25)
    • General Software (82)
    • Productivity & Workflow (30)
    • Software Architecture (85)
    • Technical Implementation (23)
  • 2025 (12)
  • 2024 (8)
  • 2023 (18)
  • 2022 (13)
  • 2021 (3)
  • 2020 (8)
  • 2019 (8)
  • 2018 (23)
  • 2017 (17)
  • 2016 (40)
  • 2015 (37)
  • 2014 (25)
  • 2013 (28)
  • 2012 (24)
  • 2011 (30)
  • 2010 (42)
  • 2009 (25)
  • 2008 (13)
  • 2007 (33)
  • 2006 (26)

Ab Testing Adobe Adobe Analytics Adobe Target AEM agile-methodologies Analytics architecture-patterns CDP CMS coding-practices content-marketing Content Supply Chain Conversion Optimization Core Web Vitals customer-education Customer Data Platform Customer Experience Customer Journey DAM Data Layer Data Unification documentation DXP Individualization java Martech metrics mobile-development Mobile First Multichannel Omnichannel Personalization product-strategy project-management Responsive Design Search Engine Optimization Segmentation seo spring Targeting Tracking user-experience User Journey web-development

©2025 CMO & CTO | WordPress Theme by SuperbThemes