使用命令行添加Maven依赖项

Lur*_*ker 9 java command-line dependencies maven-3 maven

我刚刚安装了Maven 3 - 我是Java的新手,我想了解Maven是如何工作的.现在,我知道我可以通过在maven项目中编辑POM文件来添加依赖项,但我想知道是否有一种"干净"的方式来使用命令行.运行Windows 8.1,Java 8,Maven 3.

Ger*_*sch 6

我不太确定是否有内置的 Maven 功能或插件可以做到这一点,但我不这么认为。sed您可以通过使用或类似的小脚本来实现它。我在 bash 脚本中使用了以下内容:

get_foo_dep() {
  cat <<EOF
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>foo</artifactId>
        <version>${DEP_VERSION}</version>
    </dependency>
EOF
}

DEP_VERSION="1.0.0"  # just example, you can set it from somewhere
POM_FILE="pom.xml"   # just example, the path to pom

foo_dep=$(get_foo_dep)
foo_dep=${foo_dep//$'\n'/\\$'\n'}   # escape \n with \\n for sed to work
sed -i "s|<dependencies>|<dependencies>\n${foo_dep}|" "$POM_FILE"  # CARE!! it makes in-place substitution
Run Code Online (Sandbox Code Playgroud)

您还可以看看这个其他问题,其中awk推荐:

是否可以使用 sed 替换 pom 文件中依赖项的版本?


ach*_*áin 5

直接使用POM可能是一种更好的方法,但是可以的,您可以这样做:

mvn install:install-file -Dfile=<path-to-file> -DgroupId="group-id" \
-DartifactId="artifact-id" -Dversion="version" -Dpackaging="packaging"
Run Code Online (Sandbox Code Playgroud)

https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

  • OP 要求提供一种通过 CLI 在项目中添加依赖项的方法,而不是手动编辑 POM;而你的答案是在本地 Maven 存储库中安装 JAR。两种不同的东西。 (4认同)
  • 这会向您的本地.m2存储库添加一个jar。但是,如果战俘不包括它,它将忽略它 (2认同)
  • 我不知道为什么这是最佳答案。问题是关于使用命令行编辑pom...... (2认同)