赞
踩
[这个问题有很多“解决方案”,我都没有用,因此,如果这似乎多余,请原谅。
我有一个使用Intellij IDEA构建的Java / Maven项目,该项目依赖于从此GitHub项目构建的jar文件:https://github.com/protegeproject/snap-sparql-query
[不幸的是,该jar不在任何外部存储库中,因此必须由我来构建。我的构建工作正常,并将jar手动复制到我的父项目的WEB-INF / lib文件夹中。 Intellij然后正确运行,即使生成的war文件不包含snap-sparql-query jar,也可以在执行时找到所有相关的jar。我猜它正被缓存在某个地方。
如果我从命令行($ mvn clean package)构建项目,则它会构建,但是上面的jar文件仍不包含在生成的war文件中,即使该文件存在于父文件的WEB-INF / lib文件夹中也没有打包为战争文件。
理想的解决方案是父级中的Maven命令:下载snap-sparql-query的源代码
将源代码编译成罐子
将jar复制到父WEB-INF / lib目录
WEB-INF / lib目录中的所有jar都包含在war文件中
[至少我很满意手动执行上面的1-3,但是让Maven执行#4。
这里是snap-sparql-query的Maven条目:
edu.stanford.protege
snap-sparql-query-api
4.0.0-SNAPSHOT
system
${basedir}/WEB-INF/lib/snap-sparql-query-api-4.0.0-SNAPSHOT.jar
com.google.guava
guava
edu.stanford.protege
de-derivo-sparqldlapi
2.0.0
我已经被警告使用systemPath是bad,因此,如果可能的话,我也想避免这种情况。
我可以让Maven至少执行上述第4项,和/或最好执行1-4吗?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。