2017-02-14 87 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> 
相关问题