Java + Maven1.x: как добавить sun's tools.jar?

Я должен добавить tools.jar в мою конфигурацию сборки maven1, но не могу найти никакой помощи.

Вот решение, которое я нашел с помощью полезного предложения geo:

Я изменил сборку maven.xml, чтобы добавить tools.jar в путь к классам. Предварительная цель перед java:compile делает вещи:

<preGoal name="java:compile">
    <ant:path id="tools">
        <ant:pathelement path="${tools.jar}"/>
    </ant:path>
    <maven:addPath id="maven.dependency.classpath" refid="tools"/>
</preGoal>

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

Как мне включить tools.jar в мои зависимости?

Следующий код включает tools.jar для JDK в Windows, Linux и Solaris (он уже включен в среду выполнения для Mac OS X и некоторых бесплатных JDK).

  ...
  <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>
  ...

2 ответа

Решение

Благодаря Geo я изменил сборку maven.xml, чтобы добавить tools.jar в classpath.

Предварительная цель перед java:compile делает вещи:

<preGoal name="java:compile">
    <ant:path id="tools">
        <ant:pathelement path="${tools.jar}"/>
    </ant:path>
    <maven:addPath id="maven.dependency.classpath" refid="tools"/>
</preGoal>
<classpath>
      <pathelement location="path_to_toold_folder/tools.jar"/>
</classpath>

Должен сделать свое дело. Это работает только в задаче муравья.

Другие вопросы по тегам