2017-02-14 50 views
1

我試圖創建jinjava應用: 的src/main/JAVA/COM /公司/ Main.javaJinjava第一個應用程序拋出java.lang.ClassNotFoundException

package com.company; 
import com.hubspot.jinjava.Jinjava; 
public class Main { 
    public static void main(String[] args) { 
     Jinjava jinjava = new Jinjava(); 
    } 
} 

和pom.xml中的一部分(感謝SOF,我不能完全將它張貼):

<repositories> 
     <repository> 
      <id>osssonatype</id> 
      <name>OSS Sonatype</name> 
      <url>https://repo1.maven.org/maven2/</url> 
      <layout>default</layout> 
     </repository> 
    </repositories> 

    <dependencies> 
    <dependency> 
     <groupId>com.hubspot.jinjava</groupId> 
     <artifactId>jinjava</artifactId> 
     <version>2.1.14</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>21.0</version> 
    </dependency> 
    </dependencies> 

    <build> 
    <plugins> 
     <plugin> 
      <!-- Build an executable JAR --> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>com.company.Main</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
    </plugins> 
     <finalName>jj4</finalName> 
    </build> 
</project> 

但經過 「MVN全新安裝」 和 「Java的罐子目標/ jj4.jar」 我越來越:

Exception in thread "main" java.lang.NoClassDefFoundError: com/hubspot/jinjava/Jinjava 
    at com.company.Main.main(Main.java:12) 
Caused by: java.lang.ClassNotFoundException: com.hubspot.jinjava.Jinjava 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 1 more 

怎麼了?

+1

你不能(通過使用裝配插件實例)建立一個「胖」 JAR,所以你的依賴不會被包含在你的'jj4.jar'文件,因此'ClassNotFoundException' – Tome

+0

謝謝!我已經使用maven-shade-plugin來做到這一點,現在它構建。 – aranel

+0

如果您使用eclipse導出作爲可運行jar以及它是否正常工作。 –

回答

0

試試這可以是任何幫助。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-assembly-plugin</artifactId> 
    <version>2.4.1</version> 
    <configuration> 
     <descriptorRefs> 
      <descriptorRef>jar-with-dependencies</descriptorRef> 
     </descriptorRefs> 
     <archive> 
      <manifest> 
       <mainClass>class name along with package which has the main method</mainClass> 
      </manifest> 
     </archive> 
    </configuration> 
    <executions> 
     <execution> 
      <id>make-assembly</id> 
      <phase>package</phase> 
      <goals> 
       <goal>single</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
相關問題