Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven Mule devkit错误:[错误]无法为Studio插件创建清单:尝试重新打开路径MANIFEST.MF的文件_Maven_Zip_Package_Mule - Fatal编程技术网

Maven Mule devkit错误:[错误]无法为Studio插件创建清单:尝试重新打开路径MANIFEST.MF的文件

Maven Mule devkit错误:[错误]无法为Studio插件创建清单:尝试重新打开路径MANIFEST.MF的文件,maven,zip,package,mule,Maven,Zip,Package,Mule,运行此命令时: mvn clean package -DskipTests -Ddevkit.studio.package.skip=false 我得到这个错误: ... [INFO] Adding registry bootstrap entry for org.apache.solr.client.solrj.transformers.ORDEREnumTransformer as ORDEREnumTransformer [ERROR] Could not create MANIFEST

运行此命令时:

mvn clean package -DskipTests -Ddevkit.studio.package.skip=false
我得到这个错误:

...
[INFO] Adding registry bootstrap entry for org.apache.solr.client.solrj.transformers.ORDEREnumTransformer as ORDEREnumTransformer
[ERROR] Could not create MANIFEST for Studio plugin: Attempt to reopen a file for path MANIFEST.MF
[ERROR] error on execute: An error ocurred while the DevKit was generating Java code. Check the logs for further details.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.772s
[INFO] Finished at: Tue May 13 20:48:10 PDT 2014
[INFO] Final Memory: 25M/81M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.mule.tools.devkit:mule-devkit-maven-plugin:3.3.0:generate-sources (default-generate-sources) on project mule-module-solr: An error ocurred while the DevKit was generating Java code. Check the logs for further details. -> [Help 1]
...
有些奇怪的事情:

如果我从mvn clean package-DskipTests-Ddevkit.studio.package.skip=false更改为mvn clean package-DskipTests-Ddevkit.studio.package.skip=true,但它不会完成其任务

我从一个正在工作的项目fork开始,在那里我可以使用…skip=false运行完整的命令。我只向src/main/java/org/mule/modules添加了一个额外的类,我相信它遵循了注释模式,并且更简单。还不能真正共享代码,添加了两个依赖项:httpclient和jackson数据绑定。它对这两个类进行所有检查,[INFO]搜索带有@Connector注释的类,然后[INFO]验证MyXyzConnector类

我考虑过的问题/事情:

我想-Ddevkit.studio.package.skip=false会告诉它生成一个.zip文件吗? 如果是,部署时是否需要这样做? 我想.zip文件需要一个清单? 有关清单文件的错误部分…尝试重新打开文件。。。听起来像是并发问题??? 我在pom.xml中没有看到任何关于清单的提及,也没有看到正在工作的pom.xml 网上有人说,devkit的更高版本有问题,人们应该回到3.3.0版本,但我检查了一下,这就是我在pom.xml 3.3.0中使用的内容
不确定下一步要去哪里。

显然,该错误是由项目中有多个连接器类引起的。可以有多个.java文件,但我认为只有1个可以有@Connector注释

我首先临时删除我的新类,然后创建一个最小的HelloWorldConnector.java连接器,如下所示。它还生成了相同的清单错误。当我将原始工作的SolrConnector.java重命名为SolrConnector.java-MOVED并使用-Ddevkit.studio.package.skip=false重新运行构建时,它工作正常并生成了target/UpdateSite.zip文件。我真的没有帮助的错误消息

HelloWorldConnector.java最小连接器测试:

package org.mule.modules;

import org.mule.api.ConnectionException;
import org.mule.api.ConnectionExceptionCode;
import org.mule.api.annotations.*;
import org.mule.api.annotations.display.FriendlyName;
import org.mule.api.annotations.display.Placement;
import org.mule.api.annotations.param.Default;
import org.mule.api.annotations.param.Optional;
import org.mule.api.annotations.param.Payload;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Module for debugging
 *
 * {@sample.xml ../../../doc/solr-connector.xml.sample solr:config}
 *
 * @author Mark
 */
@Connector(name = "hello", schemaVersion = "1.0.0", friendlyName = "Hello", minMuleVersion = "3.3.0")
public class HelloWorldConnector {

    /**
     * Connect to the Solr Server using commons http client gateway.
     */
    @Connect
    public synchronized void connectHello() throws ConnectionException {
    }

    /**
     * Disconnect from the server, nothing special needed at this time.
     */
    @Disconnect
    public synchronized void disconnectHello() {
    }

    /**
     * Identify the connection.
     *
     * @return null, not used at this time.
     */
    @ConnectionIdentifier
    public String connectionIdentifierHello() {
        return null;
    }

    /**
     * Validate the connection by sending a ping request.
     *
     * @return true if the ping call succeeds, false otherwise.
     */
    @ValidateConnection
    public boolean isConnectedHello() {
        return true;
    }
}

确认-Ddevkit.studio.package.skip=false确实生成target/UpdateSite.zip,该文件被用作本地站点,通过studio中的“帮助”菜单安装软件,这不是对有经验的Mule开发人员的新闻,而是记录在案