2014-12-20 2 views
0

방금 ​​ninjaframework을 기반으로 Java 웹 응용 프로그램을 개발하기 시작했습니다. 모든 것이 효과적이지만, 모든 닌자 종속성으로 인해 배포 전쟁은 약 25MB입니다. 나는 정말로, 25MB의 Java 아카이브를 항상 업로드 할 필요가 없기를 바래요. 특히 의존성이 간혹 거의 바뀌지 않을 것이라는 사실 때문에. 내 애플 리케이션의 스타일 시트.ninjaframework-web-application을 어떻게 분할 할 수 있습니까?

ninjaframework-dependencies를 분리 된 jar로 옮기는 실용적인 솔루션이 있습니까? 일식과 함께 일하고 있기 때문에 IDE에 통합 된 솔루션은 훌륭합니다.

지금까지 필자는 maven dependency-scoping에 대해 살펴 봤으며 의존성을 분리 된 프로젝트로 옮기고 시스템 범위의 종속성을 가진 프로젝트를 참조하려고했습니다 (필자는 필자의 생각에서 분리 된 jar 파일로 전개 할 수 있어야 함). 나는 현재이 종속성 - 항아리를 메이븐 (maven)과 함께 구축하는 데 실패합니다. 그러나 더 나은 접근법이 있다면 궁금합니다.

나는 모든 종속성을 사용하는 경우, 응용 프로그램과 함께 배포하기 피할 수있는 방법은 없습니다

답변

0

PLESK 설치에서 바람둥이 서버에서 응용 프로그램을 배포 할 수 있습니다.

컨테이너 (어쩌면 Tomcat)에 배포하는지 알 수 없습니다. 그렇게하면 필요한 라이브러리를 컨테이너에 배포하고 Maven 범위를 ()으로 설정하여 라이브러리를 재배포하지 않도록 할 수 있습니다.

컨테이너에 의해 제공되는 라이브러리를 갖는 것이 이점을 가지지 만 또한 부담이 될 수 있습니다. 배포 및 운영 프로세스에 크게 의존합니다.

+0

질문에 추가 된 바와 같이 : 나는 Tomcat을 사용하여 배포했으며 제안한 바를 정확히 수행하고자합니다. 재배포를 피하기 위해 응용 프로그램과 별도로 라이브러리를 배포합니다. 필자는 각 종속성을 수동으로 배포하고 지정하기를 원치 않으므로 종속성이 완전히 비어있는 경우를 제외하고는 모든 종속성을 결합 된 종속성 병으로 포장하도록 Maven에 지시하는 방법을 찾고 있습니다. 그러나 maven은 프로젝트가 비어있어 복사 된 pom.xml 이외의 어떤 것도 내보낼 수 없다고 계속 말합니다. –

+0

좋은 질문 + 답변 : https://stackoverflow.com/questions/267953/managing- libraries-in-tomcat 라이브러리를 배포하려면 배포 프로세스를 사용하여 필요한 라이브러리를 Tomcat * lib * 디렉토리로 옮긴 다음 POM의 모든 라이브러리를 제공된 * 범위 *로 설정하고 배송하지 마십시오. 모든. 그런 식으로 두 단계를 잘 구분하고 서로 다른 배포 단계로 구성 할 수 있습니다. – cringe

2

다른 옵션은 사용하지 않는 라이브러리를 제외하는 것입니다. 예를 들어 JPA를 사용하지 않으면 Maven의 xml 태그를 통해 빌드에서 안전하게 제외 할 수 있습니다.

배경 : Ninja 4는 기본적으로 너무 많은 라이브러리를 번들로 제공 할 수 있습니다. 모든 것이 필요할 라이브러리에 대해 생각하지 않고 그대로 사용할 수 있기 때문에 멋지다. 단점은 병/전쟁이 당신이하고 싶은 일을하기에는 너무 클 수 있다는 것입니다. Ninja를 더 모듈화하는 방법에 대한 토론이 있습니다. 메일 링리스트에서 전화를 걸 수 있습니다.

위와 같이 닌자의 묶음을 Maven의 제외 항목을 사용하여자를 수 있습니다.

관련 문제