<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jayway Team Blog &#187; idea</title>
	<atom:link href="http://blog.jayway.com/tag/idea/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jayway.com</link>
	<description>Sharing Experience</description>
	<lastBuildDate>Sat, 11 Feb 2012 10:33:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>IntelliJ IDEA performance improvement</title>
		<link>http://blog.jayway.com/2011/09/26/intellij-idea-performance-improvement/</link>
		<comments>http://blog.jayway.com/2011/09/26/intellij-idea-performance-improvement/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 17:26:58 +0000</pubDate>
		<dc:creator>Mattias Severson</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[home directory]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[intellij]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.jayway.com/?p=9443</guid>
		<description><![CDATA[Working as a consultant, it is not unusual that I am referred to customer specific software environment with regard to computers, operating systems, networks and other configurations. However, since I work with Java, most tools are available online and they can easily be downloaded and installed on different platforms. IntelliJ IDEA is no exception, but [...]]]></description>
			<content:encoded><![CDATA[<p>Working as a consultant, it is not unusual that I am referred to customer specific software environment with regard to computers, operating systems, networks and other configurations. However, since I work with Java, most tools are available online and they can easily be downloaded and installed on different platforms. IntelliJ IDEA is no exception, but before you start coding you should make sure you know how the <a href="http://en.wikipedia.org/wiki/Home_directory">home directory</a> of your computer is setup and configure IntelliJ IDEA accordingly. From the <a href="http://devnet.jetbrains.net/docs/DOC-181">documentation</a>:</p>
<blockquote><p>
In some environments user's home directory is located on the mapped network drive which in unacceptable for IntelliJ IDEA. You'll notice the huge performance degradation.
</p></blockquote>
<h2>What is the problem?</h2>
<p>There are some good motives for keeping the home directory mounted to a network folder rather than on the local hard drive. For example, all user settings and user documents can be backed up centrally, and the user could potentially log in to any computer and have the same user environment. However, there are also some drawbacks. Depending on how the home folder is configured, there will either be a remote network call for each file access, or the file changes will be executed as a batch job at scheduled intervals or specific events such as logging off the computer.</p>
<p>The second part of the problem is that IntelliJ IDEA produces quite a lot of data, typically several hundred megabytes, besides the anticipated artifacts. The data consists of IDE plugins, configuration files, log files, but the vast majority is internal cache files. By default, the data is written to a hidden <i>.IntelliJIdea10/</i> folder in your home directory.</p>
<p>If you combine these two factors, the performance will suffer. How much depends on the bandwidth of your network, something that I became painfully aware of when I logged in remotely to the customer's network via a slow VPN connection.</p>
<h2>Solution</h2>
<p>Avoid network overhead by configuring IntelliJ IDEA to cache data on your local computer instead of in your home folder. A recent customer used Windows XP as their working environment, the instructions below are based on that experience.</p>
<ol>
<li>
Create a new directory on a <i>local</i> harddrive that IntelliJ IDEA can use, e.g. <i>C:/.IntelliJIdea10/</i>. Hint, you cannot create a library starting with a "." from Windows Explorer, you have to use the <code>mkdir</code> command from the terminal.
</li>
<li>
Locate the <i>idea.properties</i> file in the <i>bin</i> directory in IntelliJ IDEA's installation directory. The default location is <i>C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 10.5.1\bin</i>.
</li>
<li>
Change the relevant properties to point to the recently created directory:</p>
<pre class="brush:xml">
# path to IDEA config folder. Make sure you're using forward slashes
idea.config.path=C:/.IntelliJIdea10/config

# path to IDEA system folder. Make sure you're using forward slashes
idea.system.path=C:/.IntelliJIdea10/system

# path to user installed plugins folder. Make sure you're using forward slashes
idea.plugins.path=C:/.IntelliJIdea10/config/plugins
</pre>
</li>
</ol>
<h2>Considerations</h2>
<p>Consider <i>not</i> to change the <i>idea.config.path</i> property if you are using several different computers and you would like to have the same configuration on all machines. Additionally, if you are using IntelliJ IDEA Ultimate, i.e. the commercial version of the tool, you should also make a cautious decision about whether or not to keep this property unchanged, because the license file is stored in the denoted directory. On the other hand, if you always use the same computer you might as well change this property together with the other properties, so that all IntelliJ IDEA files are stored in the same location.</p>
<h2>References</h2>
<ul>
<li>IDEA files location: <a href="http://devnet.jetbrains.net/docs/DOC-181">http://devnet.jetbrains.net/docs/DOC-181</a></li>
<li>IDEA license key: <a href="http://devnet.jetbrains.net/docs/DOC-200">http://devnet.jetbrains.net/docs/DOC-200</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jayway.com/2011/09/26/intellij-idea-performance-improvement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up Grails Projects in IntelliJ Idea</title>
		<link>http://blog.jayway.com/2009/09/06/setting-up-grails-projects-in-intellij-idea/</link>
		<comments>http://blog.jayway.com/2009/09/06/setting-up-grails-projects-in-intellij-idea/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 17:24:01 +0000</pubDate>
		<dc:creator>Mattias Hellborg Arthursson</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[buildconfig]]></category>
		<category><![CDATA[grails]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[intellij]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://blog.jayway.com/?p=1927</guid>
		<description><![CDATA[Since I've started doing some stuff in Grails lately I've virtually been forced to start looking for an alternative IDE. I've been an Eclipse guy for the last five years or so; ever since I got out of the JBuilder swamp. Unfortunately, the only IDE with decent support for Grails seems to be Idea (yes [...]]]></description>
			<content:encoded><![CDATA[<p>Since I've started doing some stuff in Grails lately I've virtually been forced to start looking for an alternative IDE. I've been an Eclipse guy for the last five years or so; ever since I got out of the JBuilder swamp. Unfortunately, the only IDE with decent support for Grails seems to be Idea (yes I tried NetBeans, but it was so dreadfully slow it wasn't even funny). Now, even though it is possible to get it to work, it was very far from painless before it was all set up. Since I had problems, and since I had a really hard time finding information about this I figured I might as well share what I had to do to make it work.</p>
<p>Part of the problem was (I guess) that the projects were created outside of Idea, so they had to be imported. Another thing that turned out to be a big problem was that there are a number of inter-dependencies between the projects (set up as plugin dependencies in <code>BuildConfig.groovy</code>). Now, here are the steps I had to go through to make a multi-sub-project Grails project working in IntelliJ Idea:</p>
<ul>
<li>First of all, create an empty top-level project (actively uncheck the 'Create Module' checkbox).</li>
<li>Then, for each of the sub projects, create a new module. The tricky part here is that it turned out that you need to select 'Create from scratch..' option and select the root directory of each Grails app as module directory (and name). Then, just select 'Grails module', and you're done (for now)</li>
<li>Now we need to set up the build paths manually. For each of the modules that have local libraries included in the <code>lib</code> directory, that directory needs to be added manually as a jar directory dependency of that module. Make sure you check the 'export' checkbox as well, so that the binaries are included when you build and when if this module is referenced from another module (see below).</li>
<li>Next step is to manually remove and re-add each of the required plugins in each module. Be sure to re-add them one at a time; it didn't work to add multiple plugins at once</li>
<li>Now if you have inter-dependencies between your modules (e.g. one app uses a plugin you made yourself, set up in <code>BuildConfig.groovy</code>), these need to be set up as module dependencies.</li>
<li>Finally we're done. Now, double check the build path in the module settings window and make sure nothing is marked red. Try to build the project and you should be all set.</li>
</ul>
<p>Obviously, the bad thing here is that it's an incredible amount of work involved in getting everything up and working. The good thing however is that once you have it all set up it works really well. Code navigation and even debugging a remote Grails application works as a charm. That said, I'm still not comfortable with how Idea works. It just feels awkward somehow. I can't wait for when the SpringSource guys get this working in Spring IDE so that I can get back to my IDE of choice.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.jayway.com/2009/09/06/setting-up-grails-projects-in-intellij-idea/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

