Ant java.library.path
Maybe this will save someone an hour... to set java.library.path from inside an ANT Java task, you need to set the parameter fork="true".
<target name="run" depends="deploy">
<java dir="${jlan}" classname="org.alfresco.jlan.app.JLANServer" fork="true">
<arg value="${jlan}/jlanConfig.xml"/>
<sysproperty key="java.library.path" path="${jlan}/jni"/>
<classpath>
<filelist dir="${jlan}">
<file name="jars/alfresco-jlan.jar" />
<file name="libs/cryptix-jce-provider.jar" />
<file name="service/wrapper.jar" />
<file name="libs/bullhorn-virtualfs-0.1.jar" />
<file name="libs/log4j-1.2.14.jar" />
</filelist>
</classpath>
</java>
</target>
The reason seems to be that ANT does not allow you to reset a property. Once it's set, that's it. Of course, the ant task has its own java.library.path already, so manually setting it will be ignored. The fork is kind of a hack, by forcing a new process, you get clean system variables.