21

我想在 Maven 中构建一个具有依赖项的 .jar 文件。不幸的是,我必须在构建路径中包含一些外部 .jar。当我现在尝试使用 maven 包构建这个项目时,我会收到一个错误,即找不到那些外部 .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>
4

3 回答 3

13

您可以将外部 jar 作为依赖项包含在构建路径中<scope>system</scope>

检查此链接

于 2012-09-12T10:17:13.980 回答
7

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

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

这会将给定的 jar 添加到您的 .m2 文件夹中。之后转到 pom.xm 并添加具有给定组 ID、工件 ID 和版本的依赖项。

于 2017-03-02T09:25:25.163 回答
3

一个简单的解决方案是将其添加到本地 maven 存储库中

一种方法是通过上一篇文章中建议的 mvn install 命令。

另一种简单的方法是,

  1. 在您的 Eclipse IDE 中,右键单击项目选择 Maven 选项。
  2. 选择安装或将工件部署到 Maven 存储库选项,然后单击下一步。
  3. 单击工件文件复选框旁边的浏览并选择您的 jar 文件。
  4. 输入 GroupId 和 ArtifactId 和版本确保生成 pom 和创建校验和被检查并且包装是 jar

点击完成,沃拉!!!您的工作已完成,jar 已添加到您可以在 setting.xml 或 m2 目录中定义的本地存储库中。

现在只需根据您根据导入输入的 GroupId、ArtifactId 和 jar 版本添加简单的 maven 依赖项,这就是您的外部 jar 将由 maven 打包。

于 2015-10-26T14:46:03.540 回答