我收到以下错误:
bash: -Dversion=${log4j.version}: bad substitution
执行以下commad时:
mvn install:install-file -DgroupId=log4j -DartifactId=log4j -Dversion=${log4j.version} -Dpackaging=jar -Dfile=/home/user/Downloads/log4j-1.2.17.jar
知道如何解决这个问题吗?
答案 0 :(得分:3)
您可以在$:
之前添加反斜杠 mvn install:install-file -DgroupId=log4j -DartifactId=log4j -Dversion=\${log4j.version} -Dpackaging=jar -Dfile=/home/user/Downloads/log4j-1.2.17.jar
答案 1 :(得分:1)
Bash正在尝试展开${log4j.version}
,这是一个无效的变量名称。你有两种方法。
如果没有pom.xml
,您需要自己提供一个版本:
mvn install:install-file \
-DgroupId=log4j \
-DartifactId=log4j \
-Dversion=1.2.17 \
-Dpackaging=jar \
-Dfile=/home/user/Downloads/log4j-1.2.17.jar
使用pom.xml
并可选择删除groupId
,artifactId
,version
和/或packaging
,如果您不需要更改它们 - 有效pom.xml
应该包含所有这些内容:
mvn install:install-file \
-Dfile=/home/user/Downloads/log4j-1.2.17.jar \
-DpomFile=/home/user/Downloads/pom.xml