Pre Gradle version
This page documents the usage with Gradle, the pre-Gradle documentation is here: Eclipse Tips (pre Gradle version)
Be sure Eclipse is ready
Before any interaction with OFBiz in Eclipse be sure to run "gradlew eclipse". This generate the information Eclipse needs about the OFBiz project.
Children pages
Table of contents
Most important shortcuts
- CTRL+SHIFT+R for finding resources!
- CTRL+H for finding text in files
- The rest you will find on Internet
Note: though it's now more history, for me at least, here is what I got through initially when working with Gradle in Eclipse - OFBIZ-7779Getting issue details... STATUS
Setting up Eclipse to work with OFBiz is easy.
There are two ways to import OFBiz into Eclipse:
- You can either allow Eclipse to download OFBiz directly from SVN,
- or you can import an already downloaded copy of OFBiz (from SVN or otherwise) from the filesystem.
Mostly for committers but also for users who mind about svn history and annotations.
OFBiz has been split between framework and plugins. It's though still possible for Eclipse to handle the plugins inside the framework by embedding the ofbiz-plugins project inside the ofbiz (ofbiz-framework) project. That's interesting notably if you use Subclipse.
- Run "gradlew pullAllPluginsSource" from ofbiz-framework project root.
- Import the just checked out ofbiz-plugins project in Eclipse.
- Follow https://stackoverflow.com/questions/9163501/eclipse-import-folder-of-source-code-to-other-projects.
- You may then close ofbiz-plugins project (better keep it open see below). You should now be able to use the ofbiz project to handle both framework and plugins.
There is only 1 drawback. If you run gradlew eclipse your ofbiz project will lose the relation with its ofbiz-plugins sub project because this Gradle task delete and create a new .classpath files which destroy the relation created when following the stackoverflow answer. Then you need to make the steps above again. Note that you only need that if you wan to use Subclipse for plugins from inside the ofbiz (ofbiz-framework) project. Else the plugins project should still stay open and you can use Subclipse there. We can maybe automate that with Gradle but I'm not sure how.
Importing OFBiz from the filesystem into Eclipse
If you have already downloaded OFBiz and do not wish to have Eclipse handle SVN pulls for you, Eclipse can import OFBiz from the filesystem as well.
First you need to generate the ".project" file to allow Eclipse to automatically configure the project for you. For that simply run "gradlew eclipse" on the command line.
Then all you have to do to import the project is:
- Right-click in the Navigator window and click on Import.
- Select "Existing Project into Workspace" and click Next.
- Click Browse and select the directory that contains the ".project" file, then click Finish. When this is complete, a new project named "ofbiz" will now appear in your Navigator. This will not copy the project to Eclipse's workspace directory: it will remain wherever it was before the import. If you want the OFBiz files in your workspace directory, you must move them there before you do the import. Note that by doing so you will not have the the plugins inside your ofbiz project. If you want that, follow the info in the "Setting up Eclipse to work with OFBiz is easy" section above.
Using SVN from within Eclipse
If you want to do the SVN pull from within Eclipse, use the following steps:
- First you need to install Subclipse
- Bring up the "SVN Repository" panel in Eclipse (Window/Open Perspective/SVN Repository Exploring)
- Right-Click within panel/New/Repository Location
Pick the URL of the one you are interested in at http://svn.apache.org/repos/asf/ofbiz/
eg: http://svn.apache.org/repos/asf/ofbiz/ofbiz-framework/trunk/ - Click on Finish. Now, do the initial checkout.
- Click the "+" next to the new repository
- then Right-Click on trunk and select "Checkout...".
- Select "Check out as project in the workspace" and click on "Finish".
- This will create a new project that you can name as you want and download the OFBiz files directly from SVN. To sync your project with SVN in the future, right-click on the project and click Teams/Synchronize with Repository. Note that by doing so you will not have the the plugins inside your ofbiz project. If you want that, follow the info in the "Setting up Eclipse to work with OFBiz is easy" section above.
Using GIT from within Eclipse
You will need "Git Team Provider" package (integral part of many Eclipse IDE builds) for this to work. If not installed please check "EGit - Git integration for Eclipse".
- From the Eclipse main menu, choose: Window -> Perspective -> Open Perspective -> Other -> Git.
- In the "Git Repositories" window click the "Clone a Git repository" link or the "Clone a Git Repository and add the clone to this view" button from the view's toolbar to start git clone wizard.
- On the first page of the wizard, enter the location of the trunk remote repository, among
https://github.com/apache/ofbiz/ (freezed just before the framework and plugins split, 12 Feb 2017). You can use this one for releases branches.
https://github.com/apache/ofbiz-framework
https://github.com/apache/ofbiz-plugins
and click the "Next" button.
- On the first page of the wizard, enter the location of the trunk remote repository, among
- On the next "Branche Selection" page, choose which branches shall be cloned from the remote repository (by default all selected).
Example: Click the "Deselect all" button, choose "release16.11" branch and click the "Next" button. - On the "Local Destination" page, choose the directory where you want to store the repository on the local file system and click the "Finish" button.
If you want the OFBiz files in your Eclipse workspace directory, choose: Browse -> [/location/of/the/eclipse/workspace/directory].
Upon successful completion of the clone operation, the newly cloned repository appears automatically in the list of the Git Repositories perspective. - Open the terminal view from within Eclipse: Window -> Show View -> Other -> Terminal -> Terminal.
- In the "Terminal" window, click the "Open a Terminal" button from the view's toolbar (confirm with "Ok" in the "Launch Terminal" window) to start the terminal.
- In the terminal, open the directory where you stored the repository (i.e. /location/of/the/eclipse/workspace/directory/ofbiz) and run
./gradlew eclipse
(Linux) orgradlew eclipse
(Windows). - In the Git Repositories window, expand the ofbiz repository tree, choose: Working Tree -> right click -> Import Projects -> Finish.
After the import is finished your project is ready to be built, developed and debugged.
For more information about how to manage the repository please see EGit/User Guide - Managing Repositories.
Hide folders from searches
Most of the time you don't want to look into some folders because there is nothing interesting there and they sometimes annoy you because of search errors
Then you tool of choice is https://nodj.github.io/AutoDeriv/
For your convenience here is the content of the .derived file I set at the root of my workspace folder, YMMV...
# sets these folders as derived
*.gradle
.settings
bin
build
gradle
lib
runtime/indexes
runtime/catalina
runtime/data
runtime/logs/birt
runtime/output
runtime/tempfiles
runtime/tmp
runtime/uploads
Using local XSD's when no internet connection is available, or you are using another version than the one online
Eclipse uses XSD files to check XML files for correctness and also when using autocompletion. Normally, eclipse uses the XSD location specified at the top of the XML file which is usually a remote address. If you do not have an internet connection, the XSD will not be found and these features will not be available (unless they have been previously cached by eclipse).
A new file .catalog.xml has been introduced in OFBiz root starting from svn 1326499. This file contains a definition compliant with the Oasis Catalog specification of all schemas used by ofbiz. You can import it in you Eclipse workbench by following the explanation at the Eclipse Import XML catalog section (hint: use the Eclipse Import/XML feature). Note also that the platform:/resource notation is used to identify a resource located in the workspace. The next path segment after "resource" should be the name of a project, which can be followed by the folder and/or file we want to locate. So you might need to change the workspase name part of the path according to your real project name.
Here is an example
Eclipse and Gradle
A gradle plug-in exist for eclipse and it is in the default configuration for the last version of eclipse.
With this plug-in and declare ofbiz as a gradle project, it's possible to view the task list and running them directly by a click, but currently it's not easy to give some parameters values. So it's useful for the basic tasks but not for a full usage of gradle. If you only have a graphical view for the task list, it's more simple to just do (out of eclipse ;-) ./gradlew --gui
After this warning, if you continue to realy want to have ofbiz declare as a Gradle project, you should do 2 steps :
- STEP-1 : If you have'nt generate eclipse file (./gradlew eclipse), my advice is to modifying build.gradle before using
add these lines :eclipse { project { //Eclipse project's comment which appair in Gradle tasks view behind ofbiz comment = 'All the main gradle task' //Append gradle natures : natures 'org.eclipse.buildship.core.gradleprojectnature' //Append the gradle build command: buildCommand 'org.eclipse.buildship.core.
gradleprojectbuilder'
STEP-1b : If you have already generate the eclipse file, the .project file should be modified
You should add two thing :- in <natures> add
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
in <buildSpec>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments/>
</buildCommand>
- in <natures> add
STEP-2 : (after the eclipse files generation) you should add a file name org.eclipse.buildship.core.prefs in .settings directory (created by gradle eclipse task)
the contents of the file should be :build.commands=org.eclipse.jdt.core.javabuilder
connection.arguments=
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.java.home=null
connection.jvm.arguments=
connection.project.dir=
derived.resources=.gradle,build
eclipse.preferences.version=1
natures=org.eclipse.jdt.core.javanature
project.path=\:You can start eclipse and wait init. You can go to the gradle task view
last warning : do nut use, the eclipse option "convert to gradle project" because it generate a lot of subproject and an error in build path for ofbiz project.