2012-02-17 2 views
2

Я строю свой проект, используя maven и eclipse. Я использую команду mvn assembly: single, которая работает довольно счастливо. Однако, когда я пытаюсь запустить банку с помощью:манифест отсутствует путь к классу при построении с помощью mvn assembly: single

java Iris-1.0-SNAPSHOT-jar-with-dependencies.jar 

я получаю:

Exception in thread "main" java.lang.NoClassDefFoundError: target/Iris-1/0-SNAPSHOT-jar-with-dependencies/jar 
Caused by: java.lang.ClassNotFoundException: target.Iris-1.0-SNAPSHOT-jar-with- dependencies.jar 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 

Также манифест не содержит путь к классу. Манифест, который производится выглядит

Manifest-Version: 1.0 
Built-By: maxgarfinkel 
Build-Jdk: 1.6.0_29 
Created-By: Apache Maven 
Main-Class: com.maxgarfinkel.iris.commandLine.CommandLineTools 
Archiver-Version: Plexus Archiver 

и ПОМ выглядит следующим образом:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>com.maxgarfinkel.iris</groupId> 
<artifactId>Iris</artifactId> 
<version>1.0-SNAPSHOT</version> 
<packaging>jar</packaging> 

<name>Iris</name> 
<url>http://maven.apache.org</url> 
<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <skipTests>true</skipTests> 
</properties> 
<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <mainClass>com.maxgarfinkel.iris.commandLine.CommandLineTools</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.10</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.swinglabs</groupId> 
     <artifactId>swing-layout</artifactId> 
     <version>1.0.3</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.16</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.xmlrpc</groupId> 
     <artifactId>xmlrpc-client</artifactId> 
     <version>3.1.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.xmlrpc</groupId> 
     <artifactId>xmlrpc-server</artifactId> 
     <version>3.1.3</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jfree</groupId> 
     <artifactId>jfreechart</artifactId> 
     <version>1.0.14</version> 
    </dependency> 
    <dependency> 
     <groupId>org.mockito</groupId> 
     <artifactId>mockito-all</artifactId> 
     <version>1.8.5</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>net.sf.jung</groupId> 
     <artifactId>jung2</artifactId> 
     <version>2.0.1</version> 
     <type>pom</type> 
    </dependency> 
    <dependency> 
     <groupId>net.sf.jung</groupId> 
     <artifactId>jung-graph-impl</artifactId> 
     <version>2.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>hbase</groupId> 
     <artifactId>hbase</artifactId> 
     <version>0.20.1</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop</groupId> 
     <artifactId>hadoop</artifactId> 
     <version>0.20.1</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-commons-cli-1.2</groupId> 
     <artifactId>commons-cli-1.2</artifactId> 
     <version>1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-commons-codec-1.3</groupId> 
     <artifactId>commons-codec-1.3</artifactId> 
     <version>1.3</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-commons-el-1.0</groupId> 
     <artifactId>commons-el-1.0</artifactId> 
     <version>1.0</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-commons-httpclient-3.0.1</groupId> 
     <artifactId>commons-httpclient-3.0.1</artifactId> 
     <version>3.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-commons-net-1.4.1</groupId> 
     <artifactId>commons-net-1.4.1</artifactId> 
     <version>1.4.1</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-core-3.1.1</groupId> 
     <artifactId>core-3.1.1</artifactId> 
     <version>3.1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-hsqldb-1.8.0.10</groupId> 
     <artifactId>hsqldb-1.8.0.10</artifactId> 
     <version>1.8.0.10</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-jasper-compiler-5.5.12</groupId> 
     <artifactId>jasper-compiler-5.5.12</artifactId> 
     <version>5.5.12</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-jasper-runtime-5.5.12</groupId> 
     <artifactId>jasper-runtime-5.5.12</artifactId> 
     <version>5.5.12</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-jets3t-0.6.1</groupId> 
     <artifactId>jets3t-0.6.1</artifactId> 
     <version>0.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-jetty-6.1.14</groupId> 
     <artifactId>jetty-6.1.14</artifactId> 
     <version>6.1.14</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-jetty-util-6.1.14</groupId> 
     <artifactId>jetty-util-6.1.14</artifactId> 
     <version>6.1.14</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-kfs-0.2.2</groupId> 
     <artifactId>kfs-0.2.2</artifactId> 
     <version>0.2.2</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-oro-2.0.8</groupId> 
     <artifactId>oro-2.0.8</artifactId> 
     <version>2.0.8</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-slf4j-api-1.4.3</groupId> 
     <artifactId>slf4j-api-1.4.3</artifactId> 
     <version>1.4.3</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-slf4j-log4j12-1.4.3</groupId> 
     <artifactId>slf4j-log4j12-1.4.3</artifactId> 
     <version>1.4.3</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-xmlenc-0.52</groupId> 
     <artifactId>xmlenc-0.52</artifactId> 
     <version>0.52</version> 
    </dependency> 
    <dependency> 
     <groupId>hadoop-zookeeper</groupId> 
     <artifactId>zookeeper</artifactId> 
     <version>3.2.1</version> 
    </dependency> 
    <dependency> 
     <groupId>colt</groupId> 
     <artifactId>colt</artifactId> 
     <version>1.2.0</version> 
    </dependency> 
    <dependency> 
     <groupId>com.inamik.utils.tableformatter-0.9.1</groupId> 
     <artifactId>com.inamik.utils.tableformatter-0.9.1</artifactId> 
     <version>0.9.1</version> 
    </dependency> 
    <dependency> 
     <groupId>Voronoi</groupId> 
     <artifactId>voronoi</artifactId> 
     <version>1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>net.sf.jung</groupId> 
     <artifactId>jung-algorithms</artifactId> 
     <version>2.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>net.sf.jung</groupId> 
     <artifactId>jung-visualization</artifactId> 
     <version>2.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>net.sf.jung</groupId> 
     <artifactId>jung-io</artifactId> 
     <version>2.0.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-all</artifactId> 
     <version>1.1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.explodingpixels</groupId> 
     <artifactId>mac_widgets</artifactId> 
     <version>0.9.5</version> 
    </dependency> 
    <dependency> 
     <groupId>com.miglayout</groupId> 
     <artifactId>miglayout</artifactId> 
     <version>3.7.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-simple</artifactId> 
     <version>1.6.4</version> 
    </dependency> 
</dependencies> 
</project> 

1. Как я могу получить путь к классам, чтобы показать? 2. WIll, делающие банку работоспособной?

ответ

1

Вы должны сделать это

java -jar Iris-1.0-SNAPSHOT-jar-with-dependencies.jar. 

Для получения дополнительной информации смотрите по этой ссылке http://docs.oracle.com/javase/tutorial/deployment/jar/run.html

Также нет необходимости в манифесте, чтобы содержать путь к классам (я думаю).

+0

Doh! чувствую себя немного глупо для этого! Однако это лишь незначительно улучшило ситуацию. теперь я получаю: Исключение в потоке «main» java.lang.NoClassDefFoundError: com/maxgarfinkel/iris/commandLine/CommandLineTools , который находится в моей банке в этом месте. – user1098798

+0

что вы получаете сейчас? –

+0

Можете ли вы открыть банку и действительно проверить класс в правильном пакете или нет? –

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