2017-11-24 1 views
0

미안 내가이 형식으로 실행할 필요가Java 실행 프로그램 클래스 경로

같은 클래스 패스 인수와 자바 항아리을 실행 시도해도 ...

java -cp "hibernateexample-0.0.1-SNAPSHOT.jar" 
com.javacodegeeks.snippets.enterprise.hibernate.App 

하지만 난이 오류가

Exception in thread "main" java.lang.NoClassDefFoundError: org/hibernate/service/ServiceRegistry 
    at com.javacodegeeks.snippets.enterprise.hibernate.service.BookService.<init>(BookService.java:13) 
    at com.javacodegeeks.snippets.enterprise.hibernate.App.main(App.java:11) 

어떻게 실행합니까 java jar최대 절전 모드 종속성 실수없이?

일식에서는 잘 작동합니다.

답변

0

종속 런타임을 Java 런타임에 연결해야합니다.

java -cp "hibernateexample-0.0.1-SNAPSHOT.jar;lib/*" com.javacodegeeks.snippets.enterprise.hibernate.App 

또한 IDE에서 프로그램을 실행할 수도 있습니다.

+0

/lib없이 실행할 수 있습니까? 그냥 내 항아리에 달린거야? –

+0

또한 모든 종속성을 하나의 JAR에 패키징하는 것을 고려해 볼 수 있습니다. https://stackoverflow.com/questions/19150811/what-is-a-fat-jar –

+0

아니요, david가 말했듯이 jar 파일에 의존성을 추가하거나 'java' 실행 파일에 의존 라이브러리에 대한 경로를 제공하십시오. – albi9

0

Eclipse와 같은 IDE에서 Java 프로그램을 실행하거나 다른 환경 변수 CLASSPATH 또는 PATH를 명시 적으로 설정할 필요는 없지만 터미널 (unix/linux/mac) 또는 명령 프롬프트 (창에서) 일시적 또는 영구적으로 요구 사항에 따라 CLASSPATH 또는 PATH를 설정해야합니다. 자세한 내용을 보려면 다음을 방문하십시오 : https://www.mysoftkey.com/java/path-and-classpath-in-java/