Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Снова maven


Автор: Adm123 26.4.2019, 14:32
Добрый всем день!
Уперся в стену и прошу помощи..!

Ситуация такая.

Есть проект под maven. В нем - один класс Main
К нему подключен jar.
Класс Main отлично работает с классом подключенной библиотеки, но только до тех пор, пока он (Main) лежит в src/main/java. При попытке переноса его в какой-нить пакет типа src/main/java/ru/adm123/client/ сразу получается Cannot resolve symbol 'Класс-Из-Jar', а попытка собрать проект выдает "package Класс-Из-Jar does not exist"

Что делалось:

собранный jar (библиотека) добавлялся в локальный репозиторий, расположенный в папке проекта:
Код

mvn deploy:deploy-file -Durl=file:../.lib -Dfile=json-converter-1.0-SNAPSHOT.jar -DgroupId=ru.adm123.lib -DartifactId=json-converter -Dpackaging=jar -Dversion=1.0-SNAPSHOT

Папка .lib успешно создается, файлы в ней появляются.

В pom проекта:
Код

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
                <version>${maven.compiler.version}</version>
            </plugin>
        </plugins>
    </build>

    <properties>
        <java.version>1.8</java.version>
        <maven.compiler.version>3.1</maven.compiler.version>
    </properties>

    <repositories>
        <repository>
            <id>ru.adm123.lib</id>
            <releases>
                <enabled>true</enabled>
                <checksumPolicy>ignore</checksumPolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <checksumPolicy>ignore</checksumPolicy>
            </snapshots>
            <url>file://${basedir}/.lib</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>ru.adm123.lib</groupId>
            <artifactId>json-converter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>


Ну, и в итоге получаю, что все работает до тех пор. пока 
Код

public class Main {

    private static JsonConverter converter;

    psvm(){}

}

а как только пытаюсь сделать 
Код

package ru.example.mypackage

public class Main {

    private static JsonConverter converter;

    psvm(){}

}

все ломается...

Автор: LSD 30.4.2019, 15:06
А какой модификатор доступа у JsonConverter ? Может он package private или protected?

Цитата(Adm123 @  26.4.2019,  15:32 Найти цитируемый пост)
попытка собрать проект выдает "package Класс-Из-Jar does not exist"

Попытка собрать Maven-ом?

Автор: Adm123 30.4.2019, 15:15
Да, мавеном.
Такая тишина стояла в теме, что я решил, что она никому не нужна и неинтересна, поэтому и отписывать больше не стал...

А проблему я решил.

Корень зла был в том, что 'Класс-Из-Jar' тоже находился в папке java, без пакетов. Стоило поместить его в пакет как - бинго! - появилась возможность прописать импорт для Main и все прекрасно разрезовилось.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)