Maven Systempath не работает должным образом - PullRequest
0 голосов
/ 18 августа 2011

Я указал следующие зависимости (например, упомянутую здесь) в pom.xml, который будет искать saaj.jar в указанном sytempath, а Maven использовал для его выбора по тому же пути и работает нормально.

<dependency>
<groupId>saaj</groupId>
<artifactId>saaj</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/saaj.jar</systemPath>
</dependency>

Теперь я перешел на Windows 7 и Spring Tool Suite версии 2.7.1 (ранее Win XP и Spring более ранняя версия). В этой новой настройке я получаю ошибку ниже.

Missing artifact saaj:saaj:jar:1.0:system 

Теперь он ищет saaj-1.0.jar вместо saaj.jar и в папке $ {basedir} /src/main/webapp/WEB-INF/lib/saaj/saaj/1.0/ вместо $ { имя_базовой_папки} / SRC / Главный / WebApp / WEB-INF / Библиотека /.

Почему это так? Пожалуйста, предоставьте решение, где моя предыдущая установка должна работать нормально.

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Избегайте systemPath, вы должны создать локальный репозиторий, например:

это ваш файл pom:

<repositories>
    <repository>
        <id>local-repo</id>
        <url>file://${basedir}/lib</url>
    </repository>
</repositories>


    <dependency>
      <groupId>tiago.medici</groupId>
      <artifactId>eureka</artifactId>
      <version>0.0.1</version>
    </dependency> 

в проекте вы создаете папку lib для размещения файла jar и maven pomгенерируется из

mvn install:install-file -Dfile=c:\tiago.medici-0.0.1.jar -DgroupId=tiago.medici -DartifactId=eureka -Dversion=0.0.1 -Dpackaging=jar

tiago.medici-0.0.1.pom

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>tiago.medici</groupId>
  <artifactId>eureka</artifactId>
  <version>0.0.1</version>
  <description>POM was created from install:install-file</description>
</project>
0 голосов
/ 18 августа 2011

Не используйте system область. Он предназначен для системных библиотек. Учитывая путь, который вы указали для него, вы, очевидно, создаете веб-приложение.

Используйте военный проект и укажите свои зависимости с provided областью действия, если они уже доступны (например, потому что они предоставляются вашим сервером приложений) или иным образом без спецификации области действия. Maven позаботится о правильной компоновке зависимости проекта как для разработки Eclipse, так и для развертывания на сервере приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...