Создан JAR-файл Simpl, импортированный в проект Maven, но при установке Maven выдается сообщение «пакет не существует» - PullRequest
2 голосов
/ 20 мая 2011

Полагаю, мне раньше не приходилось так много делать, потому что я столкнулся со странной проблемой. Я пытаюсь сгенерировать JAR из существующего Java-проекта, а затем помещаю его в проект Spring Maven. Я уверен, что я включаю это правильно, я делал это много раз прежде с помощью сторонних JAR-файлов, которые я получаю (хотя это проект Maven, я включил в него некоторые неясные JAR-файлы и поместил в buildpath и т. Д.), С моим JAR в Eclipse показывает себя нормально, как будто он включен, у меня есть тестовый класс, который импортирует класс из JAR, создает его экземпляр и т. Д., И он не показывает никаких ошибок (импорт в IDE и т. Д.), Однако, когда Я иду, чтобы сделать установку Maven, я получаю:

[ERROR] /media/src/main/java/org/jadefalcon/automation/DataSetup/test.java:[11,15] package org.test does not exist
[ERROR] /media/src/main/java/org/jadefalcon/automation/DataSetup/test.java:[21,2] cannot find symbol

Я пытался сделать Maven чистым, но все та же проблема, класс JAR, с которым я тестирую, таков: (пытался более сложный, но затем попытался это устранить проблему)

package org.test;

public class something {

    public String main () {
        return "it is definitely working fine";
    }

}

Вот сгенерированный мной JAR (с видимыми источниками): https://docs.google.com/leaf?id=0BzB_xvrbRpbYODQyMjEzOWEtOTdjNS00YjM3LTlkZGUtNjY5NmIwN2RiNTRj&hl=en

Буду признателен за любой совет, так как я довольно озадачен и расстроен этим. Спасибо

Ответы [ 2 ]

2 голосов
/ 20 мая 2011
  • Вы можете включить 'обычный' jar в свой проект maven - как вы уже описали - хотя это не лучший способ, главным образом потому, что тогда вы даже не потеряете функциональность Maven для этого jar, но такжевесь смысл управления зависимостями Maven: вам нужно будет включить этот jar в свой источник, чтобы он был собран.

  • Конечно, вы также можете создать артефакт Maven для этого jar, собрать егос Maven установите его с Maven и используйте его как нормальную зависимость Maven.

  • Вы также можете создать родительский .pom и иметь свой проект зависимости как модуль, а также свой реальныйприложение (или также ваше реальное приложение может быть вашим родителем).Подробнее здесь .

1 голос
/ 20 мая 2011

Поскольку это вызвало у меня немало горя, я решил опубликовать найденное мной решение.По-видимому, вы не должны просто включать обычный JAR-файл lib в проект maven (хотя, клянусь, я уже делал это раньше, и это сработало), я нашел способ включить локальный JAR-файл, который не образует репозиторий из этого поста.:

Могу ли я добавить jar-файлы в путь к классу сборки maven 2 без их установки?

Я сделал это, и установка maven выполняется правильно (где только что были созданы версия и artifactID)повышенное значение)

        <dependency>
    <groupId>org.test</groupId>
    <artifactId>test</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/testjar.jar</systemPath>
</dependency>
...