2012-11-05 4 views
1

I 사용자 메이븐 의존성에 개미 빌드 파일을 설정하려고하고 내가 같은 오류가 발생하고있다 "작업 또는 형식 항아리를 만들 수 없습니다 : 받는다는 - 유물-개미 : localRepository메이븐 개미 작업 - 종속성

package uk.co.rrv; 

import org.joda.time.DateTime; 

public class Main { 
    public static void main(String[] args) { 
     DateTime dateTime = new DateTime(); 
     System.out.println("DateTime = " + dateTime); 


     System.out.println("Plus 1 hour is " + dateTime.plusHours(1)); 
     System.out.println("Plus 10 minutes is " + dateTime.plusMinutes(10)); 
     System.out.println("Plus 60 seconds is " + dateTime.plusSeconds(60)); 

    } 
} 

여기 내 빌드 XML 여기

<project name="TestBuild" basedir="." default="main" xmlns:artifact="antlib:maven.artifact.ant"> 

    <path id="maven-ant-tasks.classpath" path="Lib/maven-ant-tasks-2.1.3.jar" /> 
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" 
      uri="antlib:org.apache.maven.artifact.ant" 
      classpathref="maven-ant-tasks.classpath"/> 

    <property name="src.dir"  value="src"/> 
    <property name="build.dir" value="build"/> 
    <property name="classes.dir" value="${build.dir}/classes"/> 
    <property name="jar.dir"  value="${build.dir}/jar"/> 
    <property name="main-class" value="uk.co.rrv.Main"/> 


    <target name="clean"> 
     <echo>Initializing ....</echo> 
     <delete dir="${build.dir}"/> 
    </target> 

    <target name="compile" depends="mvn-init"> 
     <echo>Compling ....</echo> 
     <mkdir dir="${classes.dir}"/> 
     <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="maven-ant-tasks.classpath"/> 
     <copy todir="${classes.dir}"> 
      <fileset dir="${log.dir}" excludes="**/*.java"/> 
     </copy> 
    </target> 

    <target name="jar" depends="compile"> 
     <echo>Building Jar ....</echo> 
     <mkdir dir="${jar.dir}"/> 
     <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}"> 
      <manifest> 
       <attribute name="Main-Class" value="${main-class}"/> 
      </manifest> 
     </jar> 
    </target> 

    <target name="run" depends="jar"> 
     <echo>Execution ....</echo> 
     <java fork="true" classname="${main-class}"> 
      <classpath> 
       <path refid="classpath"/> 
       <path location="${jar.dir}/${ant.project.name}.jar"/> 
      </classpath> 
     </java> 
    </target> 

    <target name="mvn-init" unless="compile.classpath" xmlns:artifact="urn:maven-artifact-ant"> 
     <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" 
       classpath="Lib/maven-ant-tasks-2.1.3 .jar"/> 
     <condition property="maven.repo.local" value="${maven.repo.local}" else="${user.home}/.m2/repository"> 
      <isset property="maven.repo.local"/> 
     </condition> 
     <echo>maven.repo.local=${maven.repo.local}</echo> 
     <artifact:localRepository id="local.repository" path="${maven.repo.local}"/> 
     <artifact:pom file="pom.xml" id="maven.project"/> 
     <artifact:dependencies pathId="compile.classpath" filesetId="compile.fileset" useScope="compile"> 
      <pom refid="maven.project"/> 
      <localRepository refid="local.repository"/> 
     </artifact:dependencies> 
     <artifact:dependencies pathId="test.classpath" filesetId="test.fileset" useScope="test"> 
      <pom refid="maven.project"/> 
      <localRepository refid="local.repository"/> 
     </artifact:dependencies> 
     <artifact:dependencies pathId="runtime.classpath" filesetId="runtime.fileset" useScope="runtime"> 
      <pom refid="maven.project"/> 
      <localRepository refid="local.repository"/> 
     </artifact:dependencies> 
    </target> 

    <target name="main" depends="clean,run"/> 

</project> 

내 pom.xml 파일

<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>seamjpa</groupId> 
    <artifactId>seamjpa</artifactId> 
    <packaging>war</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>seam-jpa</name> 

    <repositories> 
     <repository> 
      <id>repository.jboss.org</id> 
      <url>http://repository.jboss.org/maven2</url> 
     </repository> 
    </repositories> 

    <dependencies> 
      <dependency> 
       <groupId>joda-time</groupId> 
       <artifactId>joda-time</artifactId> 
       <version>2.1</version> 
      </dependency> 


    </dependencies> 

    <build> 
     <finalName>${project.name}</finalName> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <debug>true</debug> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <properties> 
     <seam.version>2.2.0.GA</seam.version> 
     <jsf.version>1.2_12</jsf.version> 
     <richfaces.version>3.3.1.GA</richfaces.version> 
     <slf4j.version>1.4.2</slf4j.version> 
    </properties> 

</project> 
+0

Ant에서 종속성 관리 기능을 찾고 있다면 Ivy를 고려해 볼까요? 나는 Maven 사용자입니다. 그러나 Ivy에 대해서는 칭찬을 많이하지만, Maven-ant-task에 대해서는 거의 듣지 못했습니다. Ivy가 Maven 저장소 자체를 사용 중입니다. –

+0

처음에는 Ivy를 시도했지만 완성 할 좋은 문서를 얻지 못했습니다. 그런 다음 나는 maven-ant-task를 사용하기 시작했습니다. Ivy 구현에 도움이되는 문서가 있습니까? – KingArasan

답변

2

입니다 MAV에 대한 참조를 수정 한 후 파일입니다 KO-개미 - 작업 항아리,

- <path id="maven-ant-tasks.classpath" path="Lib/maven-ant-tasks-2.1.3.jar" /> 
+ <path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.1.3.jar" /> 

-  <javac ... classpathref="maven-ant-tasks.classpath"/> 
+  <javac ... classpathref="compile.classpath"/> 

-    <path refid="classpath"/> 
+    <path refid="runtime.classpath"/> 

-     classpath="Lib/maven-ant-tasks-2.1.3 .jar"/> 
+     classpath="lib/maven-ant-tasks-2.1.3.jar"/> 

은 아마 유용한 예제를 가지고 bootstrapping via ant을 포함하여 문서의 usage examples를 참조하십시오.