通过命令行将参数传递和处理到已编译的Java exe

通过命令行将参数传递和处理到已编译的Java exe,java,php,processing,command-line-interface,Java,Php,Processing,Command Line Interface,我试图在Windows/Xampp环境下通过PHP从命令行运行以下Java脚本 //Unlock import processing.net.*; Client myClient; void setup() { size(300, 300) // Connect to the local machine at port 10002. // This example will not run if you haven't // previously starte

我试图在Windows/Xampp环境下通过PHP从命令行运行以下Java脚本

//Unlock    
import processing.net.*; 
Client myClient; 


void setup() { 
  size(300, 300)

  // Connect to the local machine at port 10002.
  // This example will not run if you haven't
  // previously started a server on this port.
  myClient = new Client(this, "127.0.0.1", 6789); 
  // Say hello
  myClient.write("UUID=F326597E&NAME=Name");
  exit();
} 

void draw() {
}
我之前使用运行该脚本,并已将Java编译为一个.exe,我正在使用PHP的system()命令执行该脚本。我需要能够向上面的脚本传递至少两个变量,并将它们设置为myClient.write()函数中的UUID和NAME字段

我已经很久没有写过Java了,任何试图将上面的脚本封装到类中的尝试都会导致错误。有人能建议我如何将参数传递到脚本中,并在另一端收集它们吗

非常感谢

每个处理草图(PApplet)都有一个属性,允许您访问命令行参数列表。 根据文件:

从main()传入的命令行选项。这不包括 传递给PApplet本身的参数

因此,类似这样的方法应该有效:

import processing.net.*; 
Client myClient; 

String uuid = "F326597E";
String name = "Name";

void setup() { 
  size(300, 300);

  if(args.length < 2) System.err.println("uuid,name args missing, using defaults: " + uuid+","+name+"\n");
  else{
    uuid = args[0];
    name = args[1];
    println("parsed args uuid: " + uuid+"\tname:" + name);
  }

  // Connect to the local machine at port 10002.
  // This example will not run if you haven't
  // previously started a server on this port.
  myClient = new Client(this, "127.0.0.1", 6789); 
  // Say hello
  myClient.write("UUID="+uuid+"&NAME="+name);
  exit();
} 

void draw() {
}
import processing.net.*;
客户我的客户;
字符串uuid=“F326597E”;
String name=“name”;
无效设置(){
大小(300300);
if(args.length<2)System.err.println(“uuid,缺少名称args,使用默认值:“+uuid+”,“+name+”\n”);
否则{
uuid=args[0];
name=args[1];
println(“解析的参数uuid:+uuid+”\tname:+name);
}
//在端口10002处连接到本地计算机。
//如果尚未运行,则此示例将不会运行
//以前在此端口上启动过服务器。
myClient=新客户机(此“127.0.0.1”,6789);
//打招呼
myClient.write(“UUID=“+UUID+”&NAME=“+NAME”);
退出();
} 
作废提款(){
}

从PHP调用一个处理应用程序来调用另一个PHP脚本听起来有点复杂。你到底想达到什么目的?(也许有更简单的方法)

好的旧命令行参数有什么问题吗?我不太清楚你的意思。我非常乐意使用很好的旧命令行参数,但在脚本中使用它们让我感到厌烦。如果有一种方法可以编写上面的代码在命令行中运行,那将是一个救命稻草。添加main方法并读取命令行参数时会发生什么情况?我收到一个“意外的令牌无效”或关于大括号的异常(这是不正确的,我已进行了三次检查)。这是处理。如何将其编译为exe?