是否有命令或Maven插件我可以用来从命令行向POM添加依赖项?
例如,我想键入以下内容:
mvn lazy:add-dependency -DgroupId=com.mycompany -DartifactId=derp -Dversion=1.0
并让它修改当前目录中POM的依赖项部分:
<dependencies> ... other dependencies ... <dependency> <groupId>com.mycompany</groupId> <artifactId>derp</artifactId> <version>1.0</version> </dependency> </dependencies>
添加上述XML的外部命令也可以,但我更喜欢不需要我编写XSL样式表的命令.
解决方法
不确定你是否解决了这个问题,但我过去曾用xsltproc做过类似的事情(我知道你说不要用一个,但我从来没有找到另一种方法).
function merge_xml () { TEMP_XML1="some-temp-file1.xml" TEMP_XML2="some-temp-file2.xml" cat > $TEMP_XML1 cp $1 $TEMP_XML2 echo "Merging XML stream from $1 into $2" >&2 xsltproc --stringparam with "$TEMP_XML1" merge.xslt "$TEMP_XML2" | tidy -xml -indent -quiet -wrap 500 -output $2 }
merge.xslt可以在这里找到http://www2.informatik.hu-berlin.de/~obecker/XSLT/merge/merge.xslt
merge_xml $PROJECT_ROOT/content/pom.xml $PROJECT_ROOT/content/pom.xml << EOF <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <dependencies> <dependency> <groupId>com.company</groupId> <artifactId>my-artifact</artifactId> <version>1.0-SNAPSHOT</version> <classifier>jar</classifier> </dependency> </dependencies> </project> EOF
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。