使用maven构建时,jar文件被破坏
在构建war文件的同时,我将一组jar子从一个位置复制到战争中的文件夹中。 虽然文件确实被复制了,但是我认为它们被破坏了,因为在战争之外拍摄的jar的相同类文件打开了调试器,而在从war文件中取出后它没有打开。
这是我的战争pom.xml的一部分,我复制了jar子
copy-jars process-resources copy-resources ${basedir}/target/${project.artifactId}-${buildNumber}/somefolder SomeSourceDirectory true **/**
SomeSourceDirectory有一些jar和一些其他文件结果是:myWar / somefolder / a.jar但是当我在调试器中打开这个jar里面的类时…我在WinZip中得到错误
Invalid compressed data to extract. Severe Error: Compressed data is invalid
但是,当我在原始文件夹中查看时,即在战争之外,可以查看相同的类文件。 复制jar子时有错误吗? 谢谢。
删除
,它会破坏jar文件。
此外,您可以继续使用maven过滤而不会损坏内部的jar(是的,我需要使用jar包装并使用过滤)
我们选择从过滤扩展中排除jar。
在父pom的pluginManagement部分中我们放置了这个配置
org.apache.maven.plugins maven-resources-plugin 2.5 ${project.build.sourceEncoding} jar pdf swf zip bz2 gz acp bin odt doc xls
注意我们添加了jar扩展以及默认maven排除的文件类型(毕竟它是一个zip)。
除了避免存档损坏外,它还可以加快进程,因为它不必过滤大文件。
试试Maven Assembly Plugin 。 这是我最喜欢的插件,可以将自定义资源添加到* .war文件中。 另请参见预定义的描述符文件 。
我添加时遇到了类似的错误
到我在ANT的复制任务。 它在复制时损坏了jar文件。 我通过仅在目标文本文件上应用filter而不是在jar文件上解决了这个问题。
- Selenium无法点击
- 当我在Java中左键单击TrayIcon时,如何显示PopupMenu?
- mockito与jMock的州有相同的习惯用语吗?
- 遇到了一个已弃用的javax.persistence.spi.PersistenceProvider
- hbase api – 按行ID列表获取数据行信息
- java DatagramSocket接收数据Multicast Socket发送数据
- 为什么IntStream.range(0,100000).parallel.foreach需要比循环更长的正常时间
- Lists,ArrayLists,Maps,Hashmaps,Collections等有什么区别..?
- 在Eclipse中创建新的Maven项目时显示错误