当前位置: 首页 > 知识库问答 >
问题:

Maven Install Plugin install:安装文件的目标是安装没有文件扩展名的工件

马宜民
2023-03-14

经过对互联网的深入研究,我还没有找到在没有文件扩展名的情况下将新工件安装到Maven存储库的选项。

在Maven Install Plugin的2.5.2版本之前,它只会将“打包”作为工件文件扩展名,但后来我在Apache issues portal:https://issues.apache.org/jira/browse/MINSTALL-121.上发现了这一点:不使用“打包”作为文件扩展名实际上很有意义,但后来我认为我可能可以安装一个没有任何扩展名的新工件,因为我的aftifact实际上是一个二进制可执行文件,下面是我得到的内容。

我正在POM文件中生成以下名称的文件:

<resultFolder>${project.build.directory}${file.separator}bin${file.separator}mac</resultFolder>
<resultName>${project.build.finalName}</resultName>

这个文件基本上是:

/Users/rafaelruizpalacios/go/src/github.com/MidVision/rd/go/bin/mac/rdcli-1.2-SNAPSHOT

然后我在POM文件中包含以下内容以将文件安装到存储库中:

<execution>
    <id>install-mac</id>
    <phase>install</phase>
    <goals>
        <goal>install-file</goal>
    </goals>
    <configuration>
        <file>${project.build.directory}${file.separator}bin${file.separator}mac${file.separator}${project.build.finalName}</file>
        <groupId>${project.groupId}</groupId>
        <artifactId>${project.artifactId}-mac</artifactId>
        <version>${project.version}</version>
        <packaging>bin</packaging>
    </configuration>
</execution>

对于版本2.5.2的Maven安装插件,我将得到以下文件:

/Users/rafaelruizpalacios/.m2/repository/com/midvision/plugins/rdcli-mac/1.2-SNAPSHOT/rdcli-mac-1.2-SNAPSHOT.bin

使用“bin”扩展,但现在我正在尝试使用最新版本3.0.1,并考虑MINSTALL-121,我得到的是:

/Users/rafaelruizpalacios/.m2/repository/com/midvision/plugins/rdcli-mac/1.2-SNAPSHOT/rdcli-mac-1.2-SNAPSHOT.2-SNAPSHOT

它基本上是获取文件名最后一个点“2-SNAPSHOT”之后的子字符串作为文件扩展名。

我的问题是:安装没有文件扩展名的工件是不可行或不推荐的吗?或者这可能是插件中的另一个问题?

谢谢!:-)

共有1个答案

佴阳曦
2023-03-14

一般来说,maven仓库并不意味着包含任意文件——特别是不包含随机的二进制文件。如果您真的需要,请将这些文件放在maven项目的resources文件夹中(src/main/resources)。如果在pom.xml中配置一个文件夹对您来说限制太大

<project>
   ...
   <resources>
     <resource>
       <directory>src/my-resources</directory>
     </resource>
   </resources>
   ...
</project>

(来自https://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html)

如果你想沿着文件的道路构建助手:attach-artifact应该能够实现你想要的(另请参阅:部署maven tar.gz项目作为没有汇编插件的构建输出)

 类似资料:
  • 5.a. 安装一个 Stage 压缩包 设定正确的日期/时间 在继续之前, 您需要检查一下您机器的日期和时间正确与否. 不恰当的时间配置会在后面引起一些奇怪的后果! (Cure: 我的时间就设置错过, 不过当时没见着啥奇怪的后果呀...). 请运行 date 以确认当前时间是否正确: 代码清单 1: 检查时间设置 # date Sun Apr 25 16:21:18 CEST 2004 如果时间日

  • 您好,我刚刚安装了composer的Yii2基本项目。我在苹果osx优胜美地10.10。尽管如此,我正试图按照Yii guide 2.0教程中的描述安装扩展,但我无法做到,原因是我不知道该把这条线放在哪里: PHPcomposer.phar需要--able-dist arturoliveira/yii2-tileslidemenu"*" 此方法表示在终端中找不到编写器。法尔。上面的线放在哪里? 当

  • 我还可以创建目录并使用 我也可以说 然而,我正在遵循一个教程,其中培训师做

  • 问题内容: 为了帮助实现这一点,下面的代码在文件夹中查找txt文件,以及如何使其列出不含扩展名的文件名。这是代码: 如您所见,就在这里: 这是将文件列表与myname的值进行比较,因此您可以帮助比较表和myName和list [i](不考虑文件扩展名)的情况,例如程序显示该文件夹具有以下布局: indeks.html hi.html,用户输入了indeks.html,比较不错,但是如何创建一个代码

  • 个人扩展文件夹 VS Code 会在个人扩展文件夹中.vscode/extensions来寻找扩展组件。不同的平台其文件夹所在的位置也不同: Windows %USERPROFILE%\.vscode\extensions Mac ~/.vscode/extensions Linux ~/.vscode/extensions 如果你想在VS Code 每次启动都能够加载你自己的扩展或者定制化信息,

  • 我想在我的项目的POM中引用一个jar(即vim25.jar,VMWare VSphere server management)。由于MavenRepository中没有引用此文件,我执行以下步骤: null mvn安装:install-file-dfile=./vim25.jar-dgroupid=manuallyinstalledjars-dartifactid=vim25-dversion=