Путь к рабочей области Maven eclipse

#eclipse #maven

#eclipse #maven

Вопрос:

У меня есть 1 зависимость, определенная следующим образом:

  <dependency>
        <groupId>io.ciutat</groupId>
        <artifactId>ciutat-api</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>system</scope>
         <systemPath>/Users/peris/Development/J2EE/eclipse-workspace/ciutat/target/ciutat-api-0.0.1-SNAPSHOT.jar</systemPath>
     </dependency>
  

Я хотел бы знать, есть ли способ определить eclipse-workspace в переменной, например {eclispe-workspace}

Комментарии:

1. Зачем вам нужна зависимость, определяемая системной областью?

2. Старайтесь избегать зависимостей systemPath.

Ответ №1:

что вам нужно, так это тег свойств maven

добавьте это в начало вашего пом

 <properties>
    <eclispe-workspace>/Users/peris/Development/J2EE/eclipse-workspac/<eclispe-workspace>
</properties>
  

и затем в вашем pom вы можете использовать его следующим образом

 <dependency>
        <groupId>io.ciutat</groupId>
        <artifactId>ciutat-api</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>system</scope>
         <systemPath>${eclispe-workspace}/ciutat/target/ciutat-api-0.0.1-SNAPSHOT.jar</systemPath>
     </dependency>
  

Примечание — использование системного пути не рекомендуется. Область действия системы вызовет у вас проблемы — при переносе вашего приложения на другой сервер или систему.

Ответ №2:

Вы можете использовать :

  • Для выходного каталога проектов : ${project.build.outputDirectory}
  • Для тестового выходного каталога проектов : ${project.build.testOutputDirectory}
  • Для исходного каталога : ${project.build.sourceDirectory}
  • Для текущей рабочей : ${user.dir}

outputDirectory и testOutputDirectory предоставляют доступ к каталогам, куда Maven собирается поместить байт-код или другой вывод сборки.

Комментарии:

1. @en Peris: попробуйте это решение и дайте мне знать, если у вас возникнут какие-либо проблемы