머리말
오늘 나는 문제가 발생했습니다. ip.dat Binary 파일이 있습니다. 내용을 통해 IP의 지역 정보를 구문 분석 할 수 있습니다. 로컬 단위 테스트는 괜찮습니다. 테스트 환경에 배치 한 후 IP를 구문 분석 할 때 오류가 발견되었습니다. 테스트 환경에서 IP 주소를 인쇄하는 경우 로컬 테스트에 아무런 문제가 없습니다. 마지막으로 코드베이스의 ip.dat 파일 크기는 약 3.5m에 불과하고 테스트 환경의 ip.dat 파일 크기는 약 5m입니다.
문제는 다음과 같습니다. ip.dat가 Maven을 통해 포장 된 후 파일이 더 커지는 이유는 무엇입니까? Maven이 패키지되면이 파일은 SRC/Main/Resources의 CONF 디렉토리에서 복사됩니다. 리소스 디렉토리 대신 conf 디렉토리에 ip.dat을 직접 배치했으며 포장 후 크기가 정상임을 발견했습니다.
다시 말해, Maven 패키징 프로세스 중에 SRC/Main/Resources/Directory의 파일은 더 큽니다. POM에서 리소스 필터링을 활성화하기 때문입니다.
<Resources> <Resource> <Directory> SRC/Main/Resources </directory> <필터링> True </필터링> </rought> </rought>
해결책
솔루션은 매우 간단합니다. 자원 필터링에 참여하지 않고 IP.DAT를 CONC 디렉토리에 넣으십시오. 리소스 디렉토리에 ip.dat을 배치 해야하는 경우 다음 구성을 통해 해결할 수 있습니다.
<Resources> <!-IP.DAT 제외, 클래스 경로에 패키지가 아닌, 자연스럽게 필터링은 없을 것입니다-> <Resource> <sirectory> <sirectory> src/main/resource </directory> </directory> </filtering> </filtering> <exclud> ip.dat </exclude> </fexcece> <!-- 자원에 포장하십시오. <Directory> src/main/resources </directory> <filtering> false </필터링> <clender> include> ip.dat </include> </conlude> </resource> </rought>
리소스 필터링에 Maven을 사용하는 경우 필터링 해야하는 필터링 파일 만 필터링하는 경우 HTTPS 인증서 등과 같은 일부 바이너리 파일은 리소스 필터링에 참여하지 않으면 포장 후 파일 컨텐츠가 손상됩니다.
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용에 모든 사람의 연구 나 작업에 대한 특정 참조 가치가 있기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다. Wulin.com을 지원 해주셔서 감사합니다.