我有这段代码来添加我的类路径:
<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在jar的路径中放置了随机空格。 例如:../lib/libform s-1.3.0.Jar ...所以,当我吃午饭时,我得到一个错误,因为它无法找到罐子。有什么想法吗?
答案 0 :(得分:0)
解决方法
使用maven-jar-plugin的 2.3.2 版本并更改Class-path的配置。
<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>
它将使您的类路径成为多行,只需记住每行开头的空格。 根据{{3}},清单行最多可以包含72个字节。