Что не так с моей конфигурацией Maven?

Я хочу проверить сонар, поэтому я добавил следующий фрагмент в свой pom.xml, часть зависимостей была взята из http://maven.apache.org/general.html#tools-jar-dependency

<profile>
     <id>sonar</id>
     <activation>
        <activeByDefault>true</activeByDefault>
     </activation>
     <properties>
       <sonar.jdbc.url>jdbc:derby://localhost:1527/sonar;create=true</sonar.jdbc.url>
       <sonar.jdbc.driverClassName>org.apache.derby.jdbc.ClientDriver
       </sonar.jdbc.driverClassName>
       <sonar.jdbc.username>sonar</sonar.jdbc.username>
       <sonar.jdbc.password>sonar</sonar.jdbc.password>
       <sonar.host.url>http://localhost:8080/sonar</sonar.host.url>
     </properties>
     <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>

К сожалению ошибка осталась

Embedded error: Missing:
----------
1) com.sun:tools:jar:1.4.2

  Try downloading the file manually from the project website.

  Then, install it using the command: 
      mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=/path/to/file

Я также последовал предложению добавить отсутствующую банку вручную в репозиторий, что не дало никакого эффекта.

mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile=$JAVA_HOME/lib/tools.jar

Что я делаю неправильно?

РЕДАКТИРОВАТЬ:

Я убедился, что tools.jar добавлен в мой локальный репозиторий. В режиме отладки maven показывает ошибку:

1 required artifact is missing.

for artifact: 
  group:artifact:war:1.0.0-BUILD-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

person stacker    schedule 08.06.2011    source источник
comment
Установлена ​​ли ваша переменная среды JAVA_HOME? Указывает ли это на JDK, а не на JRE?   -  person mindas    schedule 08.06.2011
comment
@mindas Да, JAVA_HOME был установлен во время установки mvn: install-file   -  person stacker    schedule 08.06.2011
comment
Вы можете попробовать запустить mvn с параметром -X. Это слишком многословно, но может привести к некоторым подсказкам.   -  person mindas    schedule 08.06.2011


Ответы (3)


Вы используете это в затмении? Если ответ да, то это надоедливая и очень неправильно понятая проблема. Взгляните на мой ответ здесь

Возможно, вы не указываете eclipse на правильный jre/jdk при запуске (это то, что вы не обязательно настраивали, скорее это была Windows)

person John Vint    schedule 08.06.2011

Проблема, с которой я когда-то сталкивался, заключалась в другом расположении tools.jar в Mac OS. Вот раздел профилей для решения проблемы:

<profiles>
    <profile>
        <id>java-home-parent-lib-tools-jar</id>
        <activation>
            <activeByDefault>false</activeByDefault>
            <file>
                <exists>${java.home}/../lib/tools.jar</exists>
            </file>
        </activation>
        <dependencies>
            <dependency>
                <groupId>sun.jdk</groupId>
                <artifactId>tools</artifactId>
                <version>1.5.0</version>
                <scope>system</scope>
                <systemPath>${java.home}/../lib/tools.jar</systemPath>
            </dependency>
        </dependencies>
    </profile>
    <profile>
        <id>java-home-parent-classes-classes-jar</id>
        <activation>
            <activeByDefault>false</activeByDefault>
            <file>
                <exists>${java.home}/../Classes/classes.jar</exists>
            </file>
        </activation>
        <dependencies>
            <dependency>
                <groupId>sun.jdk</groupId>
                <artifactId>tools</artifactId>
                <version>1.5.0</version>
                <scope>system</scope>
                <systemPath>${java.home}/../Classes/classes.jar</systemPath>
            </dependency>
        </dependencies>
    </profile>
</profiles>

Однако я не уверен, что это то, с чем вы столкнулись.

person lexicore    schedule 08.06.2011

Если ваш JAVA_HOME указывает на ваш jdk (например, /usr/lib/jvm/jdk1.6.0_33), ваша конфигурация tools.jar (${java.home}/../lib/tools.jar) указывает, что должна быть tools jar со следующим путем: /usr/lib/jvm/lib/tools.jar.

Если вы измените путь jar инструментов на ${java.home}/lib/tools.jar и убедитесь, что в вашем JAVA_HOME/lib есть файл tools.jar, он должен работать.

Здесь вы можете найти соответствующую jira.

person Chris    schedule 23.08.2012