Prev / Next / たまにっき。

maven で取ってきた必要ライブラリを target ディレクトリに置く.

Category: [Maven]
2005-04-27

以下のようなのを maven.xml に作ればいい.

<?xml version="1.0"?>

<project xmlns:j="jelly:core">
  <postGoal name="java:compile">
    <j:forEach var="lib" items="${pom.artifacts}">
    <j:set var="dep" value="${lib.dependency}"/>
      <j:if test="${dep.getProperty('jar.manifest.classpath')=='true'}">
        <j:if test="${dep.type =='jar'}">
          <copy toDir="${maven.build.dir}" file="${lib.path}"/>
        </j:if>
      </j:if>
    </j:forEach>
  </postGoal>
</project>



postGoal か preGoal かは好きにすれば良いし,プロパティも jar.manifest.classpath でなくても良い.
こんな感じにすれば

maven jar


とするだけで後は

java -jar target/hogehoge-x.x.jar


で動く.

でも,よく考えたら,jar ゴールだと,意味合いが少し違う.
まぁいいや.

ref. [2004-08-28-4] (maven jar で作成される jar ファイルの manifest に Class-Path エントリを追加する)

Referrer (Inside): [2006-03-10-5]
Category: [Maven]