2012-09-12 106 views
15

我想在maven中建立一个依赖关系的.jar文件。不幸的是,我必须在我的构建路径中包含一些外部.jars。当我现在尝试使用maven包来构建这个项目时,我会得到一个错误,那些外部的.jars文件没有找到。如何在maven jar构建过程中包含外部jar?

如何调整我的pom文件以添加这些罐子? 电流:

<plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>copy-dependencies</id> 
         <phase>prepare-package</phase> 
         <goals> 
          <goal>copy-dependencies</goal> 
         </goals> 
         <configuration> 
          <outputDirectory>${project.build.directory}/classes/lib</outputDirectory> 
          <overWriteReleases>false</overWriteReleases> 
          <overWriteSnapshots>false</overWriteSnapshots> 
          <overWriteIfNewer>true</overWriteIfNewer> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.2-beta-4</version> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>jar-with-dependencies</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
    </plugins> 

回答

13

您可以在为依赖您的构建路径外部罐子<scope>system</scope>

入住这link

+0

谢谢,这对我的情况很好。 –

+6

它看起来是正确的,但如果它不是JDK的一部分,如示例引用那样。例如,如果你想引用与pom相同的目录中的JAR,那该怎么办? (在项目文件夹中) – mmcrae

+2

嗯,很好,但是dep将不会与你的jar/war打包在一起。 – demaniak

2

这样做的一个简单的解决方案是将其添加到本地的仓库做

一种方式是通过MVN安装命令,在以前的帖子建议。另一个简单的方法是,1)在你的Eclipse IDE中右击项目选择Maven选项。 2)选择安装或部署工件到Maven存储库选项,然后单击下一步。 3)点击浏览旁边的神器文件复选框&选择你的jar文件4)输入groupId和artifactId和version确保产生POM &创建校验和检查&包装罐子

单击Finish,Wallah!你的工作做的广口瓶在本地资源库中添加,您可以在Setting.xml的或M2目录定义

现在只需添加简单的Maven依赖具体根据的GroupId,artifactId的你已经进入具体根据&罐子版本导入,这就是你的外部jar将由maven打包。

2

您需要使用以下命令将外部jar添加到文件夹中的.m2

mvn install:install-file -Dfile=[JAR] -DgroupId=[some.group] -DartifactId=[Some Id] -Dversion=1.0.0 -Dpackaging=jar 

这将增加给定的罐子您的文件夹的.m2。之后,转到pom.xm,只需添加给定组ID,工件ID和版本的依赖关系。

相关问题