Maven 2 使用Maven安装的软件包

Maven 2 使用Maven安装的软件包,maven-2,Maven 2,如何使用Maven安装特定的软件包,如derbytools,而不将其指定为project的依赖项?下面是一个使用mvn安装目标的示例。我使用windows样式的环境变量来代替您需要提供的参数 mvn install:install-file -DgroupId=%DERBYTOOLS_GROUP_ID% \ -DartifactId=%DERBYTOOLS_ARTIFACT_ID% \ -Dversion=%DERBYTOOLS_VERSION% \ -Dpackagi

如何使用Maven安装特定的软件包,如derbytools,而不将其指定为project的依赖项?

下面是一个使用
mvn安装目标的示例。我使用windows样式的环境变量来代替您需要提供的参数

mvn install:install-file -DgroupId=%DERBYTOOLS_GROUP_ID% \ 
    -DartifactId=%DERBYTOOLS_ARTIFACT_ID% \
    -Dversion=%DERBYTOOLS_VERSION% \
    -Dpackaging=jar \
    -Dfile=%DERBYTOOLS_FILE_PATH%

为了让Maven能够使用jar,需要将jar声明为依赖项

如果您有一个在Maven存储库中还不存在的jar,您可以使用安装插件将其安装到本地存储库中(正如rich的回答所说)。这将使用您提供的值生成pom,并将pom和jar安装到本地存储库中。完成后,您将把依赖项添加到项目的pom中,并正常使用它

在这种情况下,依赖关系确实存在于中央Maven存储库中(您可以简单地使用btw搜索工件),因此您可以简单地将此依赖关系添加到POM中:

<dependency>
  <groupId>org.apache.derby</groupId>
  <artifactId>derbytools</artifactId>
  <version>10.4.2.0</version>
</dependency>

文件参数是什么?在定义依赖项时,我不必指定它。file参数是您要安装的工件,derbytools.jar或类似的东西。
<dependency>
  <groupId>org.apache.derby</groupId>
  <artifactId>derbytools</artifactId>
  <version>10.4.2.0</version>
  <scope>system</scope>
  <systemPath>/path/to/derbytools.jar</systemPath>
</dependency>