Fwd: COFOJA - Google Design By Contracts error with WOLips

David Aspinall <[email protected]>
Newsgroups gmane.comp.web.webobjects.wonder-disc
Message-ID <[email protected]>
HI 

I've been experimenting with a small project in Eclipse using Google's new version of Design By Contract 

	http://code.google.com/p/cofoja/

It looks really nice, placing all the contract details into Java annotations.  However I have 2 issues getting it to work with WebObjects.  The first is (I think) a WOLips issue and the second is an Eclipse issue.

The Project is a simple one,

VocabularyJars - contains the cofoja-1.0-r139.jar and asm-4.0.jar
VocabularyCore - contains the EO's and one DBCTest class
Vocabulary - a basic D2W admin app


WOLips problem: when I run the application, the idea is that the Java Agent will process the annotations and inject the contract rules into the class at runtime.  This still works with the debugger and everything.  It's nice.  The PROBLEM is that the WOLips WOApplication Run Configuration does something weird to my VM Arguments to make the class path unworkable.  On the other hand if I craft a regular Java Application as a Run Configuration (for the same project) and use the same VM argument it works exactly as advertised.  The VM argument is

	-javaagent:${resource_loc:/VocabularyJars/Libraries/cofoja-1.0-r139.jar}


The error from launching the WOlips application is

Exception in thread "main" java.lang.NoClassDefFoundError: –javaagent:/Volumes/Data/Development/GVC/Vocabulary/Code/WebObjects/VocabularyJars/Libraries/cofoja-1/0-r139/jar
Caused by: java.lang.ClassNotFoundException: –javaagent:.Volumes.Data.Development.GVC.Vocabulary.Code.WebObjects.VocabularyJars.Libraries.cofoja-1.0-r139.jar
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)


However if I alter the Java Application argument to make the path wrong (just adding a char to the end of the string) like

	-javaagent:${resource_loc:/VocabularyJars/Libraries/cofoja-1.0-r139.jar}x

I get an error 

Error opening zip file or JAR manifest missing : /Volumes/Data/Development/GVC/Vocabulary/Code/WebObjects/VocabularyJars/Libraries/cofoja-1.0-r139.jarx
Error occurred during initialization of VM
agent library failed to init: instrument

Which make a lot more sense than the WOLips error and although nothing in the backtrace points specifically to WOLips .. I really think it must be in there somewhere.  Does anyone have a suggestion where I could look for this.  WOLips is a little hairy ..

Help would be welcome
David

--
David Aspinall
Senior IT Consultant
Global Village Consulting Inc.
E: [email protected]
P: 1-647-927-7442

Global Village Consulting ranks 13th in 2012 in BIV's Top 100 Fastest Growing Companies in B.C! 

Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking of Canada’s Fastest-Growing Companies by PROFIT Magazine!

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html

_______________________________________________
Wonder-disc mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wonder-disc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.