最初,我能够从命令行运行我的代码:
java -cp "/var/www/html/tcqa/bin/test_and_control-1.0-SNAPSHOT.jar:/var/www/html/tcqa/bin/postgresql-9.3-1100-jdbc41.jar" Main /var/www/html/tcqa/sql/tc.sql
我需要添加一些新功能,并决定打破主类和用例来管理运行哪个sql语句。我移动了我的主类,并且无法从命令行运行我的代码。我的新命令行如下所示:
java -cp ["/home2/smontoya/test_and_control-1.0-SNAPSHOT.jar:/var/www/html/tcqa/bin/postgresql-9.3-1100-jdbc41.jar;"] Main email /var/www/html/tcqa/sql/email.sql
显然我想在将其转入生产模式之前对其进行测试。 我的代码结构如下所示:
main
|-->java
|--> email
| |__ EmailFlag
| |__ EmailRow
|--> tc
| |__ Analytics
| |__ Row
| |__ TestAndControl
| |__ Utils
|--> Main
答案 0 :(得分:1)
请检查jar中的清单文件..它描述了版本和mainClass。 如果您正在使用maven ..虽然在构建jar中添加依赖项描述配置中的主类,以便maven将此配置添加到清单文件
答案 1 :(得分:0)
尝试指定Main的完全限定名称:
java -cp /path1:/path2 com.company.Main arg1 arg2