2012-01-06 4 views
0

거대한 프로젝트 (응용 프로그램) 안에 다른 프로젝트 (코어)가 있습니다. 응용 프로그램은 Core와 마찬가지로 내부에 큰 라이브러리 세트를 가지고 있습니다. Eclipse를 사용하고 있으므로 Runnable Jar 내보내기 옵션을 사용하여 Application.jar을 만들었지 만 코드를 실행하면 Core가 이미지 라이브러리에 종속되어있는 Core를 사용합니다. runnable jar 파일을 보면 응용 프로그램 프로젝트의 모든 라이브러리가 있지만 코어 프로젝트 jar 파일 내부를 보면 라이브러리가 없습니다. 예상되는 구조가 무엇인지 알기 위해 다음과 같이 보입니다 :내부 jar 파일이있는 내부 jar 파일로 실행 가능한 jar를 만드는 방법은 무엇입니까?

Application 
    - Core.jar 
    + ImageLibrary.jar 
    + OtherLibraries.jar 
    : 
    + OtherLibraries.jar 
    : 

프로젝트를 개별적으로 빌드하는 데 Maven을 사용하고 있습니다. 그러나 나는 짧은 시간 동안 만 사용하고 있기 때문에 Maven의 전문가는 아닙니다.

코어에도 라이브러리가 있으므로 응용 프로그램을 빌드 할 수 있습니까?

미리 감사드립니다. Alexei Blue.

+0

http://stackoverflow.com/questions/5000351/adding-jar-libraries-into-jar-file 및 기타 질문이 거의 없습니다. – milan

+0

실행 파일 내에서 Manifest를 확인하십시오. 사용중인 클래스 패스가 포함되어야합니다. 코어 내의 jar는 포함되지 않으므로 무시됩니다. –

+0

매니페스트 파일을 검사했지만 핵심 파일이 없습니다 (바라건실히 말해서 매니페스트 파일이 하나만 있다고 말하는 것이 좋을 것입니다). 그러나 코어는 내 pom.xml과의 종속 관계로 선언되므로 메이븐 (Maven)은이를 받아 들일 것이다. Core에서 클래스에 액세스 할 수 있습니다. Core가 이미지 라이브러리에서 ClassNotFoundException을 throw하는 클래스를 호출 할 때입니다. –

답변

0

좋아, 결국이 것을 알았어. Maven을 사용하여 프로젝트를 빌드했을 때 Eclipse 빌드 경로를 업데이트하지 않았습니다. 그래서 핵심 디렉토리에 내가 도망 : 이미지 라이브러리 내가 이클립스의 빌드 경로가 변경 사항을 적용하지 않습니다 일식 다르게 설정되었는지 확인했다 코어 종속성에 추가했다

# mvn clean install 
# mvn eclipse:eclipse 

으로. 이클립스 : 이클립스 (eclipse) 명령은 나에게이 작업을 수행했지만 한 모듈 인 프로젝트에서만 작동한다고 생각하지만, pom 파일의 종속성을 읽고 프로젝트에서 해당 프로젝트를보고 액세스 할 수 있는지 확인한다. 나는 괜찮 았는데의 Runnable 항아리로 앱 프로젝트를 수출 이클립스 내에서

# mvn clean install 

다음 :

그리고 앱 디렉토리에 나는 프로젝트를 구축 다시.

희망 사항은 동일한 문제가있는 사용자에게 도움이되기를 바랍니다.

건배, Alexei Blue.

0

응용 프로그램 용 Maven 빌드에서 코어가 종속성으로 지정되어 있지 않습니까? 그렇다면 모든 종속 관계에 포함되어야합니다. 의존성 자체가 메이븐에 올바른 스코프를 가지고 있는지 확인해야한다.

+0

그래, 종속성은 메이븐이 데려다 줄 내 pom.xml 파일에있다. 그러나 그것은 어떤 이유로 매니페스트에 나타나지 않습니다. –

+0

매니 페스트에 없거나 전체 항아리/전쟁/귀 자체에 없습니까? – TrueDub

+0

코어가 매니페스트에 나타나지 않지만 Jar 파일이 실행 가능한 Jar에 나타납니다. –

관련 문제