97 lines
5.2 KiB
Markdown
97 lines
5.2 KiB
Markdown
# IDE Integration
|
|
|
|
## IntelliJ IDEA
|
|
|
|
### Importing the Project
|
|
|
|
The following steps show how to import ActiveMQ Artemis source into IntelliJ IDEA and setup the correct maven profile to allow
|
|
running of JUnit tests from within the IDE. (Steps are based on version: 13.1.4)
|
|
|
|
* File --> Import Project --> Select the root directory of the ActiveMQ Artemis source folder. --> Click OK
|
|
|
|
This should open the import project wizard. From here:
|
|
|
|
* Select "Import from existing model" toggle box, then select Maven from the list box below. Click Next.
|
|
* Leave the defaults set on this page and click next.
|
|
* On the "Select profiles page", select the checkbox next to "dev" and click next.
|
|
* From here the default settings should suffice. Continue through the wizard, clicking next until the wizard is complete.
|
|
|
|
Once the project has been imported and IDEA has caught up importing all the relevant dependencies, you should be able to
|
|
run JUnit tests from with the IDE. Select any test class in the tests -> integration tests folder. Right click on the
|
|
class in the project tab and click "Run <classname>". If the "Run <classname>" option is present then you're all set to go.
|
|
|
|
### Note about IBM JDK on Idea
|
|
|
|
If you are running IBM JDK it may be a little tricky to get it working.
|
|
|
|
After you add the JDK to the IDE, add also the vm.jar specific to your platform under that jdk.
|
|
|
|
```
|
|
(e.g: JAVA_HOME/jre/lib/amd64/default/jclSC180/vm.jar
|
|
```
|
|
|
|
There's a [SOF Question](http://stackoverflow.com/questions/27906481/can-intellij-14-be-used-to-work-with-ibm-jdk-1-7/32852361#32852361) about this that could be useful in case you are running into this issue.
|
|
|
|
### Style Templates for Idea
|
|
|
|
We have shared the style templates that are good for this project. If you want to apply them use these steps:
|
|
|
|
* File->Import Settings
|
|
* Select the file under ./artemis-cloned-folder/etc/IDEA-style.jar
|
|
* Select both Code Style Templates and File templates (it's the default option)
|
|
* Select OK and restart Idea
|
|
|
|
### Issue: My JUnit tests are not runnable with in the IDE.
|
|
|
|
If the "Run <classname>" or "Run all tests" option is not present. It is likely that the default profile has not been
|
|
imported properly. To (re)import the "tests" Maven profile in an existing project.
|
|
|
|
* Open the Maven Projects Tool Window: View -> Tool Windows -> Maven Projects
|
|
* Select the "profiles" drop down
|
|
* Unselect then reselect the checkbox next to "tests".
|
|
* Click on the "Reimport all maven projects" button in the top left hand corner of the window. (It looks like a ciruclar
|
|
blue arrow.
|
|
* Wait for IDEA to reload and try running a JUnit test again. The option to run should now be present.
|
|
|
|
## Eclipse
|
|
|
|
We recommend using Eclipse Kepler (4.3), due to the built-in support for Maven and Git. Note that there are still some
|
|
Maven plugins used by sub-projects (e.g. documentation) which are not supported even in Eclipse Kepler (4.3).
|
|
|
|
Eclipse [m2e](http://eclipse.org/m2e/) is already included in "Eclipse IDE for Java Developers", or it can be installed
|
|
from [Eclipse Kepler release repository](http://download.eclipse.org/releases/kepler).
|
|
|
|
### Git setup
|
|
It is strongly recommended to turn off the auto-updating of .gitignore files by the Git Team extension. Otherwise, it
|
|
generates new .gitignore files in many directories that are not needed due to the top level .gitignore file. To turn
|
|
it off, go to Preferences->Team->Git->Projects and deselect the "Automatically ignore derived resources" checkbox.
|
|
|
|
|
|
### Annotation Pre-Processing
|
|
|
|
ActiveMQ Artemis uses [JBoss Logging](https://community.jboss.org/wiki/JBossLoggingTooling) and that requires source
|
|
code generation from Java annotations. In order for it to 'just work' in Eclipse you need to install the
|
|
_Maven Integration for Eclipse JDT Annotation Processor Toolkit_ [m2e-apt](https://github.com/jbosstools/m2e-apt). See
|
|
this [JBoss blog post](https://community.jboss.org/en/tools/blog/2012/05/20/annotation-processing-support-in-m2e-or-m2e-apt-100-is-out)
|
|
for details.
|
|
|
|
### M2E Connector for Javacc-Maven-Plugin
|
|
|
|
Eclipse Indigo (3.7) has out-of-the-box support for it.
|
|
|
|
As of this writing, Eclipse Kepler (4.3) still lacks support for Maven's javacc plugin. The available [m2e connector for
|
|
javacc-maven-plugin](https://github.com/objectledge/maven-extensions) requires a downgrade of Maven components to be
|
|
installed. manual installation instructions (as of this writing you need to use the development update site). See
|
|
[this post](http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02725.html) for how to do this with Eclipse Juno (4.2).
|
|
|
|
The current recommended solution for Eclipse Kepler is to mark `javacc-maven-plugin` as ignored by Eclipse, run Maven
|
|
from the command line and then modify the project `activemq-core-client` adding the folder
|
|
`target/generated-sources/javacc` to its build path.
|
|
|
|
### Use _Project Working Sets_
|
|
|
|
Importing all ActiveMQ Artemis subprojects will create _too many_ projects in Eclipse, cluttering your _Package Explorer_
|
|
and _Project Explorer_ views. One way to address that is to use
|
|
[Eclipse's Working Sets](http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fcworkset.htm)
|
|
feature. A good introduction to it can be found at a
|
|
[Dzone article on Eclipse Working Sets](http://eclipse.dzone.com/articles/categorise-projects-package). |