달력

122019  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

메이븐의 scope는 compile, runtime, test, provided, system 이 있습니다. 이 중에서 custom jar를 관리하기 위해서 system scope를 지정해서 사용했었는데, war파일 패키징에서 누락되게 됩니다. WEB-INF/lib 폴더에 복사되지 않는다는 뜻입니다. 이 때문에 다음과 같이 코드를 작성했다면, in-project 저장소를 구성해서 변경하는 것이 좋습니다.


<!-- custom -->

<dependency>

    <groupId>Acme.JPG</groupId>

    <artifactId>AcmeGif</artifactId>

    <version>1.0.0</version>

    <scope>system</scope> 

    <systemPath>${basedir}/libs/AcmeGif-1.0.0.jar</systemPath> 

</dependency>


<dependency>

    <groupId>com.cubrid</groupId>

    <artifactId>cubrid-jdbc</artifactId>

    <version>8.3.1.0152</version>

    <scope>system</scope> 

    <systemPath>${basedir}/libs/cubrid-jdbc-8.3.1.0152.jar</systemPath> 

</dependency>


위 세팅을 다음과 같이 변경합니다.

<repositories>

    <repository>

        <id>in-project</id>

        <name>In Project Repo</name>

        <url>file://${project.basedir}/libs</url>

    </repository>

</repositories>


<!-- custom -->

<dependency>

    <groupId>Acme.JPG</groupId>

    <artifactId>AcmeGif</artifactId>

    <version>1.0.0</version>

</dependency>


<dependency>

    <groupId>com.cubrid</groupId>

    <artifactId>cubrid-jdbc</artifactId>

    <version>8.3.1.0152</version>

</dependency>



libs 폴더 구성도 다음과 같이 바뀝니다.


in project jars


참고: http://stackoverflow.com/questions/5597099/maven-add-jars-through-systempath-system-but-not-added-to-war-or-anywhere-else

Posted by 케누 kenu허광남

댓글을 달아 주세요