Is there a way to compile an Eclipse-based Java project from the command line?
I’m trying to automate my build (using FinalBuilder not ant), and I’m neither a Java nor Eclipse expert. I can probably figure out how to do this with straight java command line options, but then the Eclipse project feels like a lot of wasted effort.
In the event that there is no way to compile an Eclipse project via the command line, is there a way to generate the required java command line from within Eclipse? Or are there some files I can poke around to find the compile steps it is doing behind the scenes?
Guys, I’m looking for an answer that does NOT include ant. Let me re-iterate the original question ……. Is there a way to build an Eclipse project from the command line?
I don’t think this is an unreasonable question given that I can do something like this for visual studio:
devenv.exe /build "Debug|Any CPU" "C:ProjectsMyProjectsourceMyProject.sln"
Advertisement
Answer
You can build an eclipse project via a workspace from the command line:
eclipsec.exe -noSplash -data "D:SourceMyProjectworkspace" -application org.eclipse.jdt.apt.core.aptBuild
It uses the jdt apt
plugin to build your workspace automatically. This is also known as a ‘Headless Build’. Damn hard to figure out. If you’re not using a win32 exe, you can try this:
java -cp startup.jar -noSplash -data "D:SourceMyProjectworkspace" -application org.eclipse.jdt.apt.core.aptBuild
Update
Several years ago eclipse replaced startup.jar
with the “equinox launcher”
https://wiki.eclipse.org/Equinox_Launcher
On Eclipse Mars (MacOX):
java -jar /Applications/Eclipse.app/Contents/Eclipse/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -noSplash -data "workspace" -application org.eclipse.jdt.apt.core.aptBuild
The -data
parameter specifies the location of your workspace.
The version number for the equinox launcher will depend on what version of eclipse you have.