Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Problem building Java callout classes via Grunt versus directly on command line

This is our first Java callout-enabled API proxy. For our other APIs, we are using the Apigee grunt deployment tool: https://github.com/apigeecs/apigee-deploy-grunt-plugin/blob/master/Gruntfile.js

We are attempting to compile using it, so we've enabled the javac step in the file. This is the command:

javac java/src/com/<our-company>/ecommerce/<vendor-tool>/executor/*.java java/src/com/<our-company>/ecommerce/<vendor-tool>/util/*.java -d ./target/java/bin -cp /c/Git/<our-api>/java/lib/expressions-1.0.0.jar:/c/Git/<our-api>/java/lib/message-flow-1.0.0.jar -verbose

which works when running on the command line. However, when running it using Grunt, the classpath doesn't seem to get picked up and the necessary Apigee classes are coming back as not being found. Is this a discrepancy between how the Grunt shell processing works?

Here is the entry we have in Gruntfile.js:

javaCompile: {
	        	 command: 'javac java/src/com/<our-company>/ecommerce/<vendor-tool>/executor/*.java java/src/com/<our-company>/ecommerce/<vendor-tool>/util/*.java -d ./target/java/bin -cp /C/Git/<our-api>/java/lib/expressions-1.0.0.jar:/C/Git/<our-api>/java/lib/message-flow-1.0.0.jar -verbose'
	         }
1 11 850
11 REPLIES 11