开发者

Maven - Best way to refer to a directory on the system path

开发者 https://www.devze.com 2023-03-05 05:50 出处:网络
I am trying to build an RPM from my Maven project.开发者_Python百科 I have 5 different modules and each one has its own pom.xml, In the root I have one pom.xml which builds all modules (Typical Maven

I am trying to build an RPM from my Maven project.开发者_Python百科 I have 5 different modules and each one has its own pom.xml, In the root I have one pom.xml which builds all modules (Typical Maven Setup). When I build an RPM, I want to include a directory that is not part of the maven directories. Its above a directory [from the root folder that contains my maven modules]. What is the best way to include that in my RPM? or rather what is the best way to refer to a directory with out hardcoding the path? I am confused about ${baseDir} and what it refers to?

Thank you.


${project.basedir} refers to the root of the project, ie where the pom.xml is, so you could use that in <systemPath>${project.baseDir}/../../dirYouWant</systemPath>

In general though, Maven best-practices would frown about relying on the relative paths around your projects from being there. Instead, I suggest deploying those files as there own project to your maven repository (as a zip, jar, whatever), and then getting them as part of your rpm build. Depending on what plugin you are using to build your RPM, you can unpack those files automatically.


Try this

<dependency>
...groupid,artifactid etc..
<scope>system</scope>
<systemPath>path/to/your/jar</systemPath>
</dependency>

Did you mean you want to add another project to your maven build being level above?

you can do it like this :

in your parent pom :

   <modules>
        <module>../projectdirectory</module>
      </modules>

in your projectdirectory pom :

<parent>
        <groupId>...</groupId>
        <artifactId>...parent...</artifactId>
        <version>...</version>
        <relativePath>../parentProject/pom.xml</relativePath>
    </parent>
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号