2015-07-01 2 views
0

У меня есть проект maven с Netbeans 8 (linux).java.lang.NoClassDefFoundError jar application

Мой проект - приложение maven, которое я должен «экспортировать» как JAR-приложение JAR. Пока я разрабатываю систему в Netbeans, все работает отлично с зависимостями maven, но после компиляции и создания файла .jar в целевой папке я получил ошибку NoClassDefFoundError. В моих поисках через google я обнаружил, что эта проблема возникает, когда у меня есть зависимости в среде разработки, но не тогда, когда она скомпилирована с помощью classpath.

Одно из решений заключается в том, чтобы включить javascript как библиотеку в проект, но с этим я потерял функциональность maven. Я не хочу это делать, как раз в последнем случае.

Как решить эту проблему без добавления зависимостей в качестве библиотеки внутри проекта?

спасибо!

+0

пожалуйста отправьте файл pom.xml – iullianr

+0

Опубликовано, спасибо –

ответ

0

Вы не используете правильный плагин maven для создания запущенного JAR, что означает банку со всеми зависимостями внутри нее. Вот как это должно выглядеть

<plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <finalName>.....</finalName> 
     <outputDirectory>${basedir}</outputDirectory> 
     <archive> 
     <manifest> 
      <mainClass>......</mainClass> 
     </manifest> 
     </archive> 
     <descriptorRefs> 
     <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
    </configuration> 
    <executions> 
     <execution> 
     <phase>package</phase> 
     <goals> 
      <goal>single</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
</plugins> 

Что вы настроили это стандартный Maven плагин для создания файла банки, но без зависимостей, включен.

+0

Эй, спасибо за ваш ответ, но на самом деле я не имею сферу выставиться в зависимости на pom.xml файл. Но попробуйте тест с ** компилятором **, но не работает =/ –

+0

проверить обновленный ответ – iullianr

+0

iullianr: Человек, вы только что спасли мою жизнь сегодня, большое вам спасибо, да благословит вас Бог! ^^ –

0

Ошибка создания Hibernate и POI.

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

<repositories> 
    <repository> 
     <id>unknown-jars-temp-repo</id> 
     <name>"mvn deploy:deploy-file -Durl=file:///var/www/projetos/041print-proc/lib/ -Dfile=hibernate-core-4.3.10.Final.jar -DgroupId=org.hibernate -DartifactId=hibernate-core -Dpackaging=jar -Dversion=4.3.10.Final"</name> 
     <url>file:${project.basedir}/lib</url> 
    </repository> 
</repositories> 
<dependencies> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>4.3.10.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.postgresql</groupId> 
     <artifactId>postgresql</artifactId> 
     <version>9.4-1201-jdbc41</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi</artifactId> 
     <version>3.12</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.xmlbeans</groupId> 
     <artifactId>xmlbeans</artifactId> 
     <version>2.6.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml-schemas</artifactId> 
     <version>3.12</version> 
    </dependency> 
    <dependency> 
     <groupId>dom4j</groupId> 
     <artifactId>dom4j</artifactId> 
     <version>1.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-logging</groupId> 
     <artifactId>commons-logging</artifactId> 
     <version>1.1.3</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-codec</groupId> 
     <artifactId>commons-codec</artifactId> 
     <version>1.9</version> 
    </dependency> 
</dependencies> 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <maven.compiler.source>1.7</maven.compiler.source> 
    <maven.compiler.target>1.7</maven.compiler.target> 
</properties> 
<name>041 Print Processadores</name> 
<description>Processadores de Texto para Dados Variáveis</description>