Linux 中的 Java 命令类路径和 PHP

标签 java php linux batch-file jar

您好,我有一个 java jar 文件和一个批处理文件,我想使用 java -cp 命令并从 PHP 运行它们。

我的 jar 文件位于我的服务器中名为“jars”的文件夹中,我正在执行以下操作来运行它们:

//java.php
$result = exec('java -cp "pack1.jar:pack2.jar" pack3.connect.CommandLine -rb batchfile.odlbat');
echo $result;

当我的所有 jar 和批处理文件与 javacall.php 文件位于同一文件夹中时,此命令在 PHP 中运行。

现在我想将我的 jar 和批处理文件复制到新文件夹“parent”,因此我尝试修改脚本以从“parent”文件夹加载 jar 和批处理文件,但出现此错误:

//java.php
$result = exec('java -cp "parent/pack1.jar:parent/pack2.jar" parent/pack3.connect.CommandLine -rb parent/batchfile.odlbat');
echo $result;

错误:无法找到或加载主类parent.pack3.connect.CommandLine

请问有什么帮助吗?

谢谢

最佳答案

您只需要更新类路径,而不是主类的包页面路径CommandLine

改变这个

parent/pack3.connect.CommandLine

pack3.connect.CommandLine

关于Linux 中的 Java 命令类路径和 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30953552/

相关文章:

php - 我可以使用字符串连接在 PHP 中定义类 CONST 吗?

c - LIBUSB_ERROR_TIMEOUT 当我尝试使用 libusb raspberry pi 3 发送 usb 数据时

c - 如何在打开/写入功能中实现超时

java - 找不到符号 MODULE$

java - 如何禁用 JScrollPane 边框?

java - 计算并输出两个字符串之间的相似字符

java - 引起一致的 GC Churn 的技术

php - 创建 MySQL 函数时出现问题

php - Laravel 用于生产和开发的不同 config/database.php

linux - 配置 knotify 以执行自定义命令