나는 완전히 maven에 익숙하다.메이븐 어셈블리 파일에서 jar 파일을 덮어 쓰는 것을 피하는 방법
그리고 디버깅 할 다음 maven 어셈블리 파일이 있습니다.
<assembly>
<id>bin</id>
<formats>
<format>zip</format>
</formats>
<!-- Adds dependencies to zip package under lib directory -->
<dependencySets>
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<outputDirectory>lib</outputDirectory>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>${project.build.scriptSourceDirectory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>startup.*</include>
</includes>
</fileSet>
<!-- adds jar package to the root directory of zip package -->
<fileSet>
<directory>${project.build.directory}</directory>
<outputDirectory></outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</assembly>
위 파일의 문제는 기본 응용 프로그램이 두 개의 관련 프로젝트에서 병을 가져와야한다는 것입니다.
두 프로젝트 모두 같은 이름의 항아리가 있습니다.
mvn clean assembly : assembly를 실행하면 두 프로젝트의 모든 병을 하나의 폴더로 복사합니다.
분명히 일부 jar 파일이 덮어 쓰여지고 문제가 시작됩니다.
이로 인해 ClassNotFound 오류가 발생하기 시작합니다.
제발 도와주세요.
또한 $ {project.build.scriptSourceDirectory} 및 $ {project.build.directory} 변수가 정의되었는지 확실하지 않습니다.
전체 소스 코드를 검색했지만 좋지 않습니다.
이제는 이러한 변수가 특정 변수가 될 것으로 의심되지만이 점을 이해하기가 어렵습니다.
절대적으로 메이븐을위한 멋진 메이븐 튜토리얼을 가지고 있다면, 제공하십시오.