2013-05-18 55 views
1

將任意的classpath中我有這樣的代碼添加到我的類路徑:錯誤試圖在MANIFEST.MF在

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-jar-plugin</artifactId> 
     <version>2.4</version> 
     <configuration> 
     <archive> 
      <manifest> 
       <addDefaultImplementationEntries>true</addDefaultImplementationEntries> 
       <addClasspath>true</addClasspath> 
       <mainClass>ApuestaYa</mainClass>      
      </manifest> 
      <manifestEntries> 
       <Class-path>../lib/jcalendar.jar ../lib/eclipselink.jar ../lib/libforms-1.3.0.jar ../lib/Imagenes.jar ../lib/DriverPersistencia.jar ../lib/javax.persistence_2.0.3.v201010191057.jar</Class-path> 
      </manifestEntries> 
     </archive> 
     </configuration> 
    </plugin> 

但我得到這個在我的MANIFEST.MF:

Manifest-Version: 1.0 
Implementation-Title: Apuestaya 
Implementation-Version: 0.9.0-SNAPSHOT 
Implementation-Vendor-Id: um.tds.VictorMRuiz 
Built-By: Celor 
Build-Jdk: 1.7.0_09 
Class-Path: ../lib/jcalendar.jar ../lib/eclipselink.jar ../lib/libform 
s-1.3.0.jar ../lib/Imagenes.jar ../lib/DriverPersistencia.jar ../lib/ 
javax.persistence_2.0.3.v201010191057.jar 
Created-By: Apache Maven 3.0.4 
Main-Class: ApuestaYa 
Archiver-Version: Plexus Archiver 

正如你所看到的,Maven在罐子的路線中放置了隨機空格。 例如:../lib/libform S-1.3.0.Jar ......所以,當我吃午飯英里罐子我得到一個錯誤,因爲它無法找到罐子。有任何想法嗎?

回答

0

一種解決方法

使用版本2.3.2 行家-JAR-插件和類路徑的變化結構的

<Class-path><![CDATA[../lib/jcalendar.jar 
../lib/eclipselink.jar 
../lib/libforms-1.3.0.jar 
../lib/Imagenes.jar 
../lib/DriverPersistencia.jar 
../lib/javax.persistence_2.0.3.v201010191057.jar]]></Class-path> 

它會讓你的classpath多行,只記得每行開頭的空格。 根據Jar specification,清單行最多可以有72個字節。

+0

是一個好主意,但我仍然得到同樣的結果。 – VMRuiz

+0

是的,忘了寫關於插件降級。將版本更改爲2.3.2。更新了答案。 –

+0

它的工作原理。非常感謝你。 :) – VMRuiz