2015-03-12 1 views
0

Я использую Maven для создания проекта, над которым я работаю. Конструкция отлично работает, проблема возникает, когда я запускаю созданный JAR. Ошибка говорит the main class com.apress.springrecipes.sequence.Main cannot be found. Но, глядя на структуру папок, я не вижу, почему главный класс не найден.Основной класс не найден в JAR

Вот структура папок:

myJar.jar 
    --com 
     --apress 
      --springrecipes 
       --sequence 
        --Main.class 
    --META-INF 
     --MAINIFEST.MF 

Файл MANIFEST.MF имеет главный атрибут класса установлен в com.apress.springrecipes.sequence.Main. Но похоже, что JAR не может найти его, даже если файл класса находится в JAR.

Вот соответствующая часть моей pom.xml, который обрабатывает сборки:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>C:/Users/Graham/.m2/repository/</classpathPrefix> 
         <classpathLayoutType>repository</classpathLayoutType> 
         <mainClass>com.apress.springrecipes.sequence.Main</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Почему не Основной класс быть найден в банке, даже если она есть?

+0

Как выглядит ваш проявленный манифест? –

+0

Пожалуйста, проверьте этот вопрос. http://stackoverflow.com/questions/1814526/problem-building-executable-jar-with-maven. Вы можете использовать сборку maven для создания исполняемого JAR. Надеюсь это поможет. – ArunM

ответ

0

Я не Java-разработчик, но я даю ему попробовать: что компилятор говорит и что вы проверяете, это не одно и то же. Компилятор говорит, что не может найти «Основной класс», он не говорит, что не может найти файл «Main.class».

Файл может быть там, но существует ли в нем «класс Main ...» (с использованием метода public void main())?

+0

Да, это так. – Graham

0

Даже я столкнулся с подобной проблемой, я принял действия ниже, и это сработало.

  1. Убедитесь, что переменная среды IDE и JAVA_HOME указана в одной и той же версии JAVA.
  2. Если у вас есть файлы конфигурации (.ini, xml и т. Д.), Поместите их вместе с JAR-файлом в ту же папку.

 Смежные вопросы

  • Нет связанных вопросов^_^