【问题标题】:Mule devkit Error: [ERROR] Could not create MANIFEST for Studio plugin: Attempt to reopen a file for path MANIFEST.MFMule devkit 错误:[错误] 无法为 Studio 插件创建清单:尝试重新打开路径 MANIFEST.MF 的文件
【发布时间】:2014-05-14 04:16:25
【问题描述】:

当我运行这个命令时:

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]
...

一些奇怪的事情:

  1. 如果我从mvn clean package -DskipTests -Ddevkit.studio.package.skip=false 更改为mvn clean package -DskipTests -Ddevkit.studio.package.skip=true,但它并没有完成它的任务。

  2. 我从一个工作项目 fork here 开始,在那里我可以使用 ...skip=false 运行完整的命令。我只向src/main/java/org/mule/modules 添加了一个额外的类,我相信它遵循注释模式,并且更简单。 (还不能真正共享该代码)并添加了 2 个依赖项:httpclientjackson-databind。它会检查两个类,[INFO] Searching for classes annotated with @Connector,然后是 [INFO] Validating MyXyzConnector class

我考虑过的问题/事情:

  • 我认为-Ddevkit.studio.package.skip=false 告诉它生成一个.zip 文件?
  • 如果需要,是否需要部署?
  • 我假设 .zip 文件想要有一个清单?
  • 关于 MANIFEST 文件 ...Attempt to reopen a file ... 的部分错误听起来像是并发问题???
  • 我的 pom.xml 中没有提到任何清单,也没有看到工作 pom.xml 中的清单
  • 网上有人说更高版本的 devkit 存在问题,人们应该回滚到 3.3.0,但我查了一下,我在 pom.xml @987654334 中使用的@

不知道下一步该去哪里。

【问题讨论】:

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

标签: maven zip package mule


【解决方案1】:

显然,该错误是由您的项目中有多个连接器类引起的。您可以拥有多个 .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;
    }
}

【讨论】:

    猜你喜欢
    • 2012-05-01
    • 1970-01-01
    • 2021-01-24
    • 2019-06-29
    • 1970-01-01
    • 2014-02-08
    • 2011-10-06
    • 1970-01-01
    • 2018-10-24
    相关资源
    最近更新 更多