2014-11-17 7 views
0

우리는 클래스 파일에서 jar 파일을 만들려고 시도하지만 어떻게 든 작동하지 않습니다. 단지 파일의 생성은jar 실행이 작동하지 않습니다.

jar -cvfm client.jar Mainfest.txt /home/pi/Desktop/Client/*.class 

와 함께 잘 작동하지만 우리는 실행하려고하면 그것은 classnodefferror와 함께 제공됩니다. 우리의 응용 프로그램은 2 개의 등록 정보 파일을 사용합니다 - 하나는 데이터베이스 용이고 다른 하나는 log4j 용입니다.

포함 된 디렉토리와 하나의 하위 디렉토리는 다음과 같습니다. link - image nr. 1

image nr 1

image nr 2

우리는 단지 그것을 파일을 실행하려고이이 오류를 보여줍니다 우리가 실행할 때 는 일반적으로

image 3

(링크 이미지 3 참조) 그것, 우리는 입력한다 (링크 이미지 4 참조)

image 4

그리고 매니페스트 파일 (링크 이미지 5 참조)

image 4

우리는 등 환경 (-D)을 알아두고, 경로 변경과 같은 다른 솔루션을 시도하고 우리가 정말 할 수있는 다음과 같습니다 우리가 뭘 잘못했는지 알아 내려고하지 마라.

+0

에 명령을 변경 당신은 실제로 클래스 파일을 포함하고 있습니까? CLASSPATH 환경 변수를 각 jar 파일에 설정하려고 시도 했습니까? –

답변

0

몇 가지 문제는 여기에 있습니다 :

  1. 명시 적으로 각 JAR의 매니페스트 파일에 포함 언급하는 것이 좋습니다 -
  2. 당신은 항아리에 절대 경로를 사용할 수 없습니다 * 밤은 너무 잘 작동과 같은 와일드 카드를 파일 - 대신

그래서, 1)

Main-Class: Client 
Class-Path: . includes/log4j-1.2.17.jar includes/mysql-connector-java-5.1.33-bin.jar includes/sqlitejdbc-v056.jar includes/RXTXcomm-2.2pre2.jar includes/..... (repeat for all pi4j JAR files) 
에 manifest.txt가 변경 상대 경로를 사용3210

그리고, 2) 포함/하위 디렉토리에 RXTXcomm-2.2pre2.jar과 pi4j JAR 파일)를 포함하여 필요한 모든 JAR 파일 (복사하고의 log4j jar 파일이 있는지 확인 않았다

jar -cvfm client.jar Manifest.txt *.class *.properties includes/*