错误:通过ssh运行时找不到或加载主类org.testng.testng

lhcgjxsq  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(523)

我有一个使用以下命令运行的项目: java -cp ".\target\classes;lib\*;" org.testng.TestNG ParallelTestXML.xml 它运行正常。我通过ssh上传了这个项目,并希望在远程计算机(awsec2示例)上运行它,但是我得到了 Error: Could not find or load main class org.testng.TestNG . 即使我在同一个系统中使用相同的命令,它也会失败 Project 文件夹。
当所有依赖项都包含在 Project 文件夹中的 lib 文件夹怎么找不到呢 testNG . 我可以在本地运行这个项目没有问题。
当我尝试只运行java类时,甚至会遇到同样的错误,忽略testng部分,就像这样 java -cp "./target/classes/;lib/*" RealPackage.Controller 我得到一个错误: Error: Could not find or load main class RealPackage.Controller .
在这两种情况下,我都在本地进行了测试,效果良好。我通过ssh上传的项目就是整个项目;它应该是相同的,所以这些命令不起作用让我很困惑。
您可以看到两个项目位置具有相同的结构。左边是我的本地电脑,右边是aws服务器上的电脑:

编辑:所以过了一段时间我意识到这是因为我试图在linux机器上使用WindowsSytnax。因此,现在我为linux amchine提出了以下建议: java -cp .:/target/classes/:lib/* org.testng.TestNG ParallelTestXML.xml 它现在找不到位于 /target/classes 位置。

qco9c6ql

qco9c6ql1#

结果表明,列出类路径的顺序很重要。所以我不得不重新安排一下,结果成功了。

相关问题