Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 属性以引用程序集目录?_Maven_Maven Assembly Plugin - Fatal编程技术网

Maven 属性以引用程序集目录?

Maven 属性以引用程序集目录?,maven,maven-assembly-plugin,Maven,Maven Assembly Plugin,使用程序集插件时,似乎应该有一个公开的属性,例如${assembly.directory},通过它可以引用程序集输出目录。所谓程序集输出目录,我指的是程序集插件为您创建的程序集所在的目录;在我的例子中,我正在创建一个“dir”类型的程序集,因此输出目录就是程序集本身。在我使用汇编插件时,“目录输出汇编”是这样的: ${project.build.directory}/${artifactId}-${project.version}/${artifactId}-${project.version}

使用程序集插件时,似乎应该有一个公开的属性,例如${assembly.directory},通过它可以引用程序集输出目录。所谓程序集输出目录,我指的是程序集插件为您创建的程序集所在的目录;在我的例子中,我正在创建一个“dir”类型的程序集,因此输出目录就是程序集本身。在我使用汇编插件时,“目录输出汇编”是这样的:

${project.build.directory}/${artifactId}-${project.version}/${artifactId}-${project.version}
但是,在我需要引用程序集输出位置的所有地方,这显然是一件令人讨厌的事情。我想要像这样的东西

${project.assembly.outputDirectory}
以下是我的汇编插件配置:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2-beta-5</version>
                <executions>
                    <execution>
                        <id>assemble-myStuff</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <appendAssemblyId>false</appendAssemblyId>
                            <descriptors>
                                <descriptor>src/main/assemble/myAssembly.xml</descriptor>
                            </descriptors>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

org.apache.maven.plugins
maven汇编插件
2.2-β-5
组装糠秕
包裹
仅有一个的
错误的
src/main/assembly/myAssembly.xml
但是,在我需要引用程序集输出位置的所有地方,这显然是一件令人讨厌的事情

是的,但是我不认为插件会为你提供它。我有一个类似的问题,并以这种方式解决了它(不理想,但嘿):


${project.build.directory}/${artifactId}-${project.version}/${artifactId}-${project.version}

并在整个过程中使用${myAssemblyOutput}。

你所说的“汇编目录”是什么意思?您是指默认情况下存储结果的目录,还是指找到描述符的目录?也许你能给出一个更好地描述你的问题的pom示例?我不确定我是否理解你的正确性,但这听起来像是你需要的汇编描述符,或者可能是组件描述符……但问题是为什么你需要用这种方式定义目录?也许你可以给出一个定义你想要达到的目标的pom作为例子…顺便说一下:maven汇编插件有一个更新的2.3版本。或者你是说汇编插件的outputDirectory?我是说outputDirectory。我的问题不是配置汇编插件,而是引用汇编插件放置它构建的汇编的位置。嗯,那我就没办法了。但你为什么需要这些信息呢。${project.build.directory}作为插件配置的默认值,在outputDirectory中使用,所以问题是为什么需要它本身?(听起来像是循环依赖;-)我怀疑这是我能做的最好的了。我只是想知道莫霍是否会暴露出一些没有记录的财产。
<properties>
   <myAssemblyOutput>${project.build.directory}/${artifactId}-${project.version}/${artifactId}-${project.version}</myAssemblyOutput>
</properties>