![Ubuntu 18.04 Java 프로그램에 jar 파일을 지정하는 방법은 무엇입니까?](https://linux55.com/image/194233/Ubuntu%2018.04%20Java%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%20jar%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%A7%80%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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 파일 세트가 있습니다.
다음 명령을 사용하면 오류가 발생합니다. Main class 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