2012-10-11 2 views
0

super.war 안에 패키지되는 standalone.jar가 있습니다. Stanalone.jar는 super.war의 함수를 사용합니다. 내 혼란은 super.war에서 메소드를 호출 할 수있는 방법이다. 둘 다 일식에서 서로 다른 프로젝트이기 때문에 내 전쟁에서 클래스 내부에서 기능을 개발할 때가 있을까? 같은 전쟁에 배치 된 jar에서 전쟁 방법을 호출하는 방법은 무엇입니까?

더 정교한하려면

Super.war는 방법이라고 getMotors가있는 클래스 호출 모터스가 있습니다. standalone.jar에는 Customer라는 클래스가 있으며 super.war의 getMotors를 호출해야합니다. 자, 내 질문은 어떻게 객체를 생성하고 전쟁중인 Motors 클래스의 메소드를 jar 파일에있는 Customers 클래스 내에 호출 할 수 있는가하는 것입니다.

도와주세요.

고맙습니다.

답변

2

Motors 클래스를 포함하는 프로젝트가 standalone.jar 프로젝트의 빌드 경로에 있어야합니다.

standalone.jar 프로젝트가 WAR 프로젝트의 빌드 경로에 있어야하는 경우, 중단해야하는 프로젝트간에 순환 종속성이있는 것 같습니다. 아마도 공통 클래스를 3 번째 프로젝트/jar에 넣음으로써 가능합니다.

+0

이 stanalone.jar는 Motors 클래스에 의존하지만 전쟁은 jar에 종속되지 않습니다. Jar에는 독립적으로 실행되고 레코드를 가져 오는 스케줄러가 있습니다. – Gendaful

+0

다음 Motors 클래스는 JAR 또는 JAR의 종속성에 있어야합니다. WAR 프로젝트에서 Motors 클래스가 필요한 경우 가장 좋은 해결책은 두 프로젝트가 의존 할 수있는 세 번째 JAR 파일에 넣는 것입니다. –

+1

@Gendaful 매트가 말하는 것은 옳다. 양 당사자의 종속성 교차점을 포함하는 세 번째 "commons.jar"(예 :)를 작성하여 독립성을 유지할 수 있습니다. WAR는'standalone.jar'에 의존하지 않을 것이고, WAR와'standalone.jar'는 모두'commons.jar' 라이브러리에 의존 할 것입니다. – Gamb

1

수 없습니다. 이렇게하면 standalone.jar는 더 이상 독립형이되지 않습니다. :) 아마도 circle-ref를 만들 것입니다.

일부 공용 인터페이스를 사용하는 방법을 찾아야합니다.

관련 문제