Maven systemPath не добавляется во время выполнения classpath - PullRequest
1 голос
/ 01 декабря 2010

Мне нужно добавить JDK tools.jar как зависимость проекта.

Установка его как нормальной зависимости не работает, потому что при установке его в репозиторий Maven он добавляет номер версии в файл jar,После этого, когда мне нужно что-то, что нуждается в tools.jar, чтобы он находился в пути к классам, это терпит неудачу.

Использование системной области и установка пути к банке с помощью должны решить проблему.Однако, хотя в тестах jar добавляется в путь к классам, во время выполнения это не так.

Есть ли способ обойти это?

Кстати, я добавил false для верного плагина, чтобы я мог видеть каждый файл в пути к классам.

Ответы [ 2 ]

3 голосов
/ 02 декабря 2010

Работает ли Maven в JDK?

Узнайте, какая версия Java работает,

mvn -ver

Установите JAVA_HOME envпеременная, указывающая на JDK.

1 голос
/ 20 декабря 2010

, если он не включен в ваш JDK, используйте системную область, см. FAQ

<profiles>
  <profile>
    <id>default-tools.jar</id>
    <activation>
      <property>
        <name>java.vendor</name>
        <value>Sun Microsystems Inc.</value>
      </property>
    </activation>
    <dependencies>
      <dependency>
        <groupId>com.sun</groupId>
        <artifactId>tools</artifactId>
        <version>1.4.2</version>
        <scope>system</scope>
        <systemPath>${java.home}/../lib/tools.jar</systemPath>
      </dependency>
    </dependencies>
  </profile>
</profiles>
...