Не удается найти класс из проекта зависимостей Maven - PullRequest
4 голосов
/ 18 марта 2012

[ЗАКРЫТО - мне пришлось переместить классы из test / java в main / java и обновить репозиторий maven с помощью IDE "опции maven"]]

Я новичок в maven и неопытен в разработке java.Я использую IntelliJ Idea в качестве IDE.Я использую Maven 3.0.4.

Я создал «проект A» и «проект B», каждый из которых имеет несколько классов.Теперь, когда я пытаюсь создать зависимость в проекте A от класса в проекте B , я не могу найти какие-либо классы, которые являются частью проекта B ,Когда я проверяю репозиторий maven, я вижу, что файл .jar создается на основе проекта B .

Чтобы уточнить: при добавлении зависимости в проект B I сделать найти артефакт под названием "проект B", но я не могу найти какие-либо классы, которые являются частью проекта B .

Это не такпохоже, я могу получить доступ и использовать любой из классов, которые являются частью проекта B внутри проекта A , что сделает эту установку бесполезной.

-

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

[РЕДАКТИРОВАТЬ] Вот проект A pom с зависимостью от проект B .Однако я либо не понимаю, как использовать его в своем проекте, либо он не работает.Хотя я могу использовать функциональные возможности IntelliJ для поиска и добавления артефакта, intelliJ не может найти какие-либо классы, которые являются частью проекта B (хотя он и находит классы, которые являются частью других предопределенных пакетов, вхранилище maven):

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>planet</groupId>
    <artifactId>planet</artifactId>
    <version>1.0</version>
    <dependencies>
        <dependency>
            <groupId>toolbox</groupId>
            <artifactId>toolbox</artifactId>
            <version>1.0</version>
        </dependency>
    </dependencies>


</project>

Ответы [ 2 ]

6 голосов
/ 18 марта 2012

Мне пришлось переместить мои классы из test / java в main / java. Глупо, но мне потребовался целый день, чтобы понять это. Это сработало только после обновления хранилища в «maven options» через IDE.

1 голос
/ 26 апреля 2017

Вы можете сделать следующее:

<dependency>
    <groupId>toolbox</groupId>
    <artifactId>toolbox</artifactId>
    <version>1.0</version>
    <type>test-jar</type>
    <scope>test</scope>
</dependency>

Работает для меня:)

...