2011-01-13 7 views
0

bash 쉘에서 Java 프로그램을 실행하려고합니다. 이 프로그램은 일부 타사 라이브러리 (mysql connector, amazon aws)를 사용합니다.쉘에서 Java 프로그램을 실행할 수 없습니다. ClassNotFoundException

이것은 J2EE 서버 또는 다른 어떤 복잡한 환경에서 실행되지 않는 표준 Java 프로그램입니다.

제 3 자 라이브러리 (ClassNotFoundException)에서 클래스 중 하나를 찾을 수 없다는 불만을 항상합니다 (이 경우 참조를 제거하면 다른 것에 대해 불평 할 것입니다).

libs를 포함하는 jar 파일의 위치가 클래스 경로에 있음을 확인했기 때문에 혼란 스럽습니다. 또한 libs를 .class 파일과 같은 폴더에 넣으려고 시도했지만 아무 쓸모가 없어졌습니다.

나는 동일한 컴퓨터에 javac의 명령을 사용하여 프로그램을 컴파일하고는 아무런 문제 라이브러리를 찾을 수 없었다, 그래서 나는

가 나는 또한 cmd를에서 이것을 시도 .. 런타임시를 찾을 수없는 이유에 혼란 스러워요

창문 아래서도 같은 문제가 발생했습니다.

내가 알 수있는 유일한 합리적인 설명은 JVM의 보안 제한 때문인 경우가 있는데,이 경우이 프로그램에서 해당 프로그램을 사용하지 않도록 설정하는 것이 좋습니다.

감사

+2

커맨드 라인은 어떻게 생겼습니까? – OpenSource

답변

1

jar 파일에 대한 당신은 경로와 이름으로 jar 파일을 호출하는 무슨 Bozho는 말했지만의 종류, 그들에게 그냥 경로. 귀하의 게시물에서 수집 한 내용 만 경로를 추가하는 것입니다.

0

질문에 사용중인 명령 줄을 넣는 것이 더 좋을 것입니다. 이것은 기본적으로 다음과 같습니다. java -classpath c:/libs/myjar.jar;c:/libs/myjar2.jar;c:/myclasses MyClass MyClass는 "기본"Java 클래스입니다. -classpath 옵션은 런타임에서 종속성을 찾는 영역의 목록입니다. .jar는 jar 파일이고 myclasses 폴더는 .class 파일 또는 프로그램에 필요할 수있는 다른 구성 정보가있을 수있는 폴더입니다.

+0

나는 이것을 시도했다, 그것은 창문에서 cmd를 확인 작동합니다. 하지만 지금은 리눅스에서 MyClass를 찾을 수 없다고 주장합니다. – user574795

0

Linux 용으로 알아 냈습니다. java -classpath "/path/to/jar/myjar.jar :."입니다. MyClass

관련 문제