首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven install:install-file :指定的文件不存在

Maven install:install-file :指定的文件不存在
EN

Stack Overflow用户
提问于 2016-04-06 11:05:08
回答 2查看 9.7K关注 0票数 2

我尝试将自定义jar添加到我的项目中(到pom.xml)。当我做手术的时候

代码语言:javascript
复制
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<myGroup> -DartifactId=<myArtifactId> -Dversion=<myVersion> -Dpackaging=<myPackaging> -DlocalRepositoryPath=<path>

我实际上收到了一个错误:指定的文件不存在。但是文件在文件夹里-这就是问题所在。我怎么能解决这个问题?或者不用这个步骤就可以添加自定义jar?我知道范围,但它不能正常工作- maven变量${basedir}不能在systemPath中使用。

Maven 3.3.9

更新1:实际上,现在我发现了一些新的: Maven不喜欢groupId和版本中的点。经过一些尝试之后,我安装了文件,但这是错误的路径,因为我在maven repo中的org_my_local_file文件夹中接收到了文件,而不是(例如)org_my_local_file树。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-06 20:07:38

我已经做了很多次了,结果还是如愿以偿。你到底是什么意思?

Maven不喜欢groupId和版本中的点。

你有什么例外?你得到org_my_local_file是因为我觉得你很生气。在“反对”( groupId against‘_)中?

您可以在这里找到一个很好的教程,在这里您可以看到它是如何正确完成的:

如何将自定义库包含到maven本地存储库中?

编辑: --看起来你在使用windows。特别是powershell已知会导致问题。看看这里,也许你不得不转义一些字符,有一些可能的解决方案:

安装maven工件

票数 1
EN

Stack Overflow用户

发布于 2018-05-31 17:31:31

我在尝试初始化我们的基本开发环境时遇到了这个问题。我们使用Ant脚本初始化Maven、我们的开发人员服务器和其他工具,包括在本地Maven存储库中安装一些第三方jars。这个错误,“指定文件'<path>\true'不存在”是在从Ant1.9.11中调用Maven时发生的。

我还使用这个答案来指定Ant脚本中标识的路径,并在运行批处理脚本之前在批处理脚本模板中设置它们。具体来说,这个答案为构建批处理脚本提供了很多帮助:https://stackoverflow.com/a/36298099/2336934。没花多少钱:

代码语言:javascript
复制
    <!--  generate the batch file -->
    <tempfile property="temp.file" suffix=".properties" deleteonexit="true" destdir="${env.TEMP}" />
    <echoproperties destfile="${temp.file}" />
    <replaceregexp file="${temp.file}" match="([^=]*)=" replace="@\1@=" byline="true" />
    <copy file="${basedir}/scripts/install-jars.template" tofile="${basedir}/scripts/install-jars.bat" />
    <replace file="${basedir}/scripts/install-jars.bat" replacefilterfile="${temp.file}" />

    <echo message="Running batch file for Maven setup" />
    <exec executable="${basedir}/scripts/install-jars.bat" />
    <delete file="${basedir}/scripts/install-jars.bat" deleteonexit="true" />

传递的参数没有任何问题,但必须正确指定。在命令窗口中临时在脚本中执行您要执行的命令,对于在尝试嵌入脚本之前验证命令语法和函数非常有用。

我甚至创建了一个空的true文件来满足错误,该错误抱怨该文件不是有效的POM文件。用基本POM内容填充它会导致另一个错误。所以读者要小心,这个关于“真实不存在”的生意是一种“红鲱鱼”。

将Maven install:install-file命令移出批处理文件是解决这个问题的关键。它还允许我将命令中的引号指定为"而不是&quot;,因为这些命令最初是在Ant (xml)中指定的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36449276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档