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


Автор: wiremann 7.9.2017, 08:21
Здравствуйте, подскажите пж-та, начинаю изучать maven и столкнулся с проблемой. В IDE NetBeans сделал maven-проект Helloworld и классом main:
Код

public class main {
    public static void main(String[] argv) {
        System.out.println("Hello world");
    }    
}


В IDE после запуска clean install код выполняется корректно. Если же попробовать запустить через командную строку jar-файл: java -jar myjar.jar, то выходит ошибка "could not find or load main class". Пробовал вот таким образом java -cp myjar.jar /maven_projects/maven-test1/target/classes/com/mycompany/maven/test1/main но ошибка та же самая.
Что я делаю не так?
Вот мой pom.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>maven-test1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.mycompany.maven.test1.main.class</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.mycompany.main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Автор: LSD 7.9.2017, 12:26
Что-то у тебя чересчур много сконфигурировано. 

И <maven.compiler.source> и maven-compiler-plugin тоже. Оставь что-то одно (лучше <maven.compiler.source>).

Плюс у тебя сконфигурированы два плагина maven-assembly-plugin и maven-jar-plugin. Ты для начала определись, ты хочешь "толстый" jar или тонкий и чтобы зависимости отдельно лежали.

И в третьих и у тебя указанны разные main классы com.mycompany.maven.test1.main.class и com.mycompany.main. А судя по коду (если он полный конечно),  то пакаджа у тебя вообще нет и должно быть main.

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