Friday, April 2, 2010

Insufficient Disk space! WebLogic 10.3.2.0 running on Mac OSX

Note: First read my post about getting JDeveloper installed - you still need to fake out the Oracle installer so it realizes you have a JDK install

Go to Oracle.com and get the Oracle WebLogic Server 11gR1 (10.3.2) - Package Installer - generic

Warning: If you double-click on the jar, you'll get a few screens in and then it will complain (completely incorrectly) about "Insufficient disk space!" regardless of how much free space you have on your machine.

The workaround is to pull up a terminal window, go to the directory holding the wls1032_generic.jar file and execute:

java -Dos.name=unix -XX:MaxPermSize=512m -Xmx1024m -jar wls1032_generic.jar

Seems the installer can't determine disk space correctly without knowing it's an unix system... should install successfully after that.

If you don't increase the perm gen space, you'll hit: "Exception in thread "runScript" java.lang.OutOfMemoryError: PermGen space"

Monday, March 29, 2010

Installing JDeveloper 11 on OSX

Guess what, JDeveloper doesn't install out of box on a Mac... here's how to fix the JDK issue so you can at least get JDeveloper installed:

cd /System/Library/Frameworks/JavaVM.framework/Home
sudo mkdir -p jre/lib
cd jre/lib/
sudo ln -s ../../../Classes/classes.jar rt.jar

Monday, March 1, 2010

Ok break is over...

Given that railsconf 2010 (and rails 3) is on the horizon, decided it's time to get writing some rails stuff again =)

Of course that means updating the gems I haven't touched in ages.
sudo gem update --system
sudo gem update

oops... rmagick fails complaining about imagemagick... Since I installed it with macports, I figured it would be easy.
sudo port update imagemagick
Except that failed, complaining about gettext. Long story short, I didn't update macports when I upgraded to snow leopard. Easiest (if probably slowest) was to blow away macports.

sudo port -f uninstall installed

sudo port clean --work --archive all

sudo port install imagemagick

An hour or two later... imagemagick works!

Friday, October 16, 2009

Die MacRoman, DIE!!

OSX defaults to MacRoman for an encoding, so if you're using Maven, you might see messages like:
[WARNING] Using platform encoding (MacRoman actually) to copy
filtered resources, i.e. build is platform dependent
Simple enough, but it can cause you headaches. To change to UTF-8, just add the following properties to your pom.xml:
<properties>
...
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
...
</properties>


(edit: had a couple typos, encoding in the property name needs to start with a capital E - camelCase)

Extremely useful maven placeholder based on profile

Someone just showed me this example which solves one of the annoying parts of multiple devs working with multiple resource configurations (databases, mailservers, etc) for different environments (dev,test,prod,etc)

(in project pom)
<properties>
...
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
<log4j.priority>DEBUG</log4j.priority>
<project.build.listener-resources-context>staging-listener-resources.xml</project.build.listener-resources-context>
</properties>
<profiles>
<profile>
<id>production</id>
<properties>
<log4j.priority>INFO</log4j.priority>
<project.build.listener-resources-context>prod-listener-resources.xml</project.build.listener-resources-context>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
</profiles>
...

Then this goes in the build section:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>

Then in your spring context, you can import just like normal, but using a placeholder now:
<import resource="${project.build.listener-resources-context}"/>

So now a normal build uses the staging resources, and something like
mvn install -Pproduction
now uses the production resources.

Thursday, October 15, 2009

Removing chars from files in a directory

Some files got generated with symbols like the 'tm' symbol and the system consuming those files can't handle those characters... so we had to remove them.

To identify them:
find . | xargs perl -ne 'print if /[\176-\512]/' | perl -ne 'print "$1\n" if /(\d+),.*/'

To remove the "special" characters:
find . -type f -print0 | xargs -0 perl -p -i -e 's/[\176-\512]//g'

quick and dirty!

Monday, October 5, 2009

Global git config

Just some quick git options when hopping on a new box:

git config --global user.name "Your Name Comes Here"
git config --global user.email you@yourdomain.example.com
git config --global color.branch auto
git config --global color.diff auto
git config --global color.interactive auto
git config --global color.status auto