Return-Path: Delivered-To: apmail-commons-user-archive@www.apache.org Received: (qmail 1927 invoked from network); 3 Mar 2010 05:57:21 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 3 Mar 2010 05:57:21 -0000 Received: (qmail 69423 invoked by uid 500); 3 Mar 2010 05:57:14 -0000 Delivered-To: apmail-commons-user-archive@commons.apache.org Received: (qmail 69103 invoked by uid 500); 3 Mar 2010 05:57:13 -0000 Mailing-List: contact user-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Users List" Delivered-To: mailing list user@commons.apache.org Received: (qmail 69095 invoked by uid 99); 3 Mar 2010 05:57:13 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Mar 2010 05:57:13 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of apachemaven0@gmail.com designates 209.85.222.177 as permitted sender) Received: from [209.85.222.177] (HELO mail-pz0-f177.google.com) (209.85.222.177) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Mar 2010 05:57:07 +0000 Received: by pzk7 with SMTP id 7so718358pzk.0 for ; Tue, 02 Mar 2010 21:56:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=b5f4D3hBiXEwLPViI0jsKHzQ4Y/CK834cCMQnAgi/Ao=; b=BnyspqNelv3j+pTGZpxVVfVX2iJVA/zL7lG60fkQxEFCk0iMaDF1T/xaY0ZMPm+lt7 sRBtO6TzGeak3se6KO8vwXnXmCjDZBvdBkN5k+SsSO3pmNs2+Q3iSsgcTxtbkdKTPM58 6tD8xPr6EuCudpQ9Vyg6lXmL+RgAQRNcYkU4k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=abg6SE3lBehIKBELO2VfAnEolSp9u3zp/aSd3WLuQ9p6GTDD3mtv068k2NPAXMAPp5 zOIMlex6QMc126j4UogY/1p2Wz0UtoOwCxqFRiIUThoNbYQbPd4xdoH9SgVHdUXT/Dzj GqjC1omG1Cm4pXlUjkfwa7jdCa/EQImweqDBs= MIME-Version: 1.0 Received: by 10.142.208.16 with SMTP id f16mr649215wfg.158.1267595807025; Tue, 02 Mar 2010 21:56:47 -0800 (PST) In-Reply-To: References: <4B8CF0E2.4020501@it20one.at> <4B8CF7B7.2010508@it20one.at> Date: Wed, 3 Mar 2010 13:56:46 +0800 Message-ID: Subject: Fwd: common exec From: maven apache To: user-commons Content-Type: multipart/alternative; boundary=000e0cd29c92cbeae00480df25f9 --000e0cd29c92cbeae00480df25f9 Content-Type: text/plain; charset=ISO-8859-1 I meet a strange problem, a cmd can be executed in the command line ,however can not be in the code using common exec. codes are: --------------------------------------------------------------------------------------------- public class Grass { public static String grassBatJob="GRASS_BATCH_JOB"; public void run(String cmd,String jobPath) { //set the environments variables Map env=new HashMap(); env.put(grassBatJob, jobPath); String gisDataBase="/home/kk/grass/GrassDataBase"; String location="spearfish60"; String mapset="PERMANENT"; cmd=cmd+" "+gisDataBase+"/"+location+"/"+mapset; CommandLine line=new CommandLine(cmd); //the real cmd should be >>grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT System.out.println("start line=="+line.toString()); DefaultExecutor de=new DefaultExecutor(); try { int index=de.execute(line,env); System.out.println(index); } catch (ExecuteException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { String jobPath=Grass.class.getResource("grass.sh").getFile(); new Grass().run("grass64 -text", jobPath); } } ----------------------------------------------------------------------------------- The real cmd I want to execute is "grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT" with the envrionment variable "GRASS_BATCH_JOB=jobPath",it works well in the ternimal ,however in my application I got the exception" -------------------- java.io.IOException: Cannot run program "grass64 -text /home/kk/grass/GrassDataBase/spearfish60/PERMANENT": java.io.IOException: error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:459) at java.lang.Runtime.exec(Runtime.java:593) at org.apache.commons.exec.launcher.Java13CommandLauncher.exec(Java13CommandLauncher.java:58) at org.apache.commons.exec.DefaultExecutor.launch(DefaultExecutor.java:246) at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:302) at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:149) at org.kingxip.Grass.run(Grass.java:27) at org.kingxip.Grass.main(Grass.java:38) Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.(UNIXProcess.java:148) at java.lang.ProcessImpl.start(ProcessImpl.java:65) at java.lang.ProcessBuilder.start(ProcessBuilder.java:452) ... 7 more -------------------- I wonder why? --000e0cd29c92cbeae00480df25f9--