我有一个生成jar文件的maven项目,我希望能够在我的本地maven仓库中安装后执行该jar。我有我需要的所有项目属性,以便能够构建jar的目录路径。但是,我遇到的问题是将$ {project.groupId}转换为平台无关的目录路径。例如,工件安装在此处:
C:\Documents and Settings\myusername\.m2\repository\edu\ucd\chem\springbatch\0.0.1-SNAPSHOT\springbatch-0.0.1-SNAPSHOT.jar
因此,要使用maven项目属性构建该路径,我有:
${settings.localRepository}${file.separator}${project.groupId}${file.separator}${project.name}${file.separator}${project.version}${file.separator}${project.build.finalName}.${project.packaging}
这会产生:
C:\Documents and Settings\myusername\.m2\repository\edu.ucd.chem\springbatch\0.0.1-SNAPSHOT\springbatch-0.0.1-SNAPSHOT.jar
唯一的问题是groupId(edu.ucd.chem)没有转换为目录路径(edu / ucd / chem)。有没有maven属性呢?或者我是否需要手动将句点(。)转换为我拥有的任何file.separator?如果我必须手动完成,我该如何实现?
谢谢!
答案 0 :(得分:0)
嗯,也许您可以在目标文件夹${project.build.directory}
中启动生成的jar。
答案 1 :(得分:0)
虽然不是问题的答案,maven dependency plugin有一个useRepositoryLayout
参数,它构建与存储库相同的目录布局。