我有一个从 Windows 复制到 Ubuntu 18.04 的 java 应用程序。两个重要的目录是./bin 和./lib。在 ./bin 中,树是:
bin
└── com
├── google
│ └── protobuf
├── program
│ └── d1
│ ├── d1a
│ ├── d1b
│ ├── d1c
│ ├── d1d
│ ├── d1e
│ └── d1f
└── mycompany
├── d1
│ └── d1a
└── myapp
Main.class 文件存在于 ./bin/com/program/d1 (./bin/com/program/d1/Main.class) 中,并且 ./lib 文件夹中有一组所需的 jar 文件。
当我使用以下命令时,出现错误:无法找到或加载主类 bin.com.program.d1.Main,我无法弄清楚原因。命令是:
java -cp ./bin:./lib bin.com.program.d1.Main
我已经尝试过 ./lib/* 和 lib 和 lib/* 等。有人可以告诉我我做错了什么吗?
蒂亚,道格
答案1
包名称不包含bin
,您需要在类路径上列出 JAR:
CLASSPATH=bin
for jar in lib/*.jar; do CLASSPATH="$CLASSPATH:$jar"; done
export CLASSPATH
java com.program.d1.Main