我有一个Maven项目,其中包含以下程序集描述符:
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>assemby-id</id>
<formats>
<format>rar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
<file>
<source>${project.build.directory}/resources/file.txt</source>
<outputDirectory>/</outputDirectory>
</file>
</files>
如果format
是rar
,我会在rar中获得一个带有清单文件的文件夹META-INF
。
有人可以解释原因吗?
答案 0 :(得分:2)
maven-assembly-plugin
does not support rar
存档格式。引用format
文档,支持的格式列表为:
- “zip” - 创建ZIP文件格式
- “tar” - 创建TAR格式
- “tar.gz”或“tgz” - 创建gzip的TAR格式
- “tar.bz2”或“tbz2” - 创建bzip'd TAR格式
- “jar” - 创建JAR格式
- “dir” - 创建展开的目录格式
- “war” - 创建WAR格式
当归档程序遇到未知格式时,默认为jar
,对于此格式,默认情况下会创建META-INF
目录。
因此,您创建的程序集不是有效的RAR文件。它实际上是一个JAR文件。
答案 1 :(得分:-1)
maven-assembly-plugin使用maven-archiver进行打包。 maven-archiver将一个MANIFEST.MF添加到您的包中。
更新
如上所述[{3}},您可以配置maven-archiver-plugin以省略$("#form").validate({
submitHandler: function(form) {
var name1 = $('#name').val();
var email1 = $('#email').val();
var telephone1 = $('#telephone').val();
if(name1 && email1 && telephone1) {
$.ajax({
type: 'post',
url: '<?= base_url()?>'+'frontend/form_enquiry',
data: 'name='+name1+'&email='+email1+'&telephone='+telephone1
},
success: function(msg)
{
alert('test message');
}
});
});
:
DefaultImplementationEntries