Mule - 使用 Maven 的错误 运行 项目

Mule - error running project with Maven

正在尝试 运行 使用 Anypoint Studio 使用 Maven 进行项目 IDE。

但我在控制台中收到此错误:

[错误] 无法在项目 magento 上执行目标:无法解析项目 com.test 的依赖项:magento:mule:1.0.0-SNAPSHOT:无法收集 [com.mulesoft.muleesb 的依赖项: mule-core-ee:jar:3.7.2(提供),com.mulesoft.muleesb.modules:mule-module-spring-config-ee:jar:3.7.2(提供),org.mule.transports:mule-transport-file:jar:3.7.2(提供),org.mule.transports:mule-transport-http:jar:3.7.2(提供),com.mulesoft.muleesb.transports:mule-transport- jdbc-ee:jar:3.7.2(提供),com.mulesoft.muleesb.transports:mule-transport-jms-ee:jar:3.7.2(提供),org.mule.transports:mule- transport-vm:jar:3.7.2(提供),org.mule.modules:mule-module-scripting:jar:3.7.2(提供),org.mule.modules:mule-module-xml: jar:3.7.2(提供),org.mule.tests:mule-tests-functional:jar:3.7.2(测试),org.mule.modules:mule-module-http:jar:3.7.2(提供) , org.mule.modules:mule-module-magento:jar:2.2.0 (compile), org.mule.modules:mule-module-json:jar:3.7.2 (provided)]: 失败读取 org.mule.modules:mule-module-validation:jar:3.7.2 的工件描述符:无法在 http://repo1.maven.org/maven2/ 中找到 org.mule.extensions:mule-extensions:pom:3.7.2 缓存在罗cal 存储库,在 Central 的更新间隔结束或强制更新之前不会重新尝试解析 -> [帮助 1] [错误] 这是我的 pom.xml 文件:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <mule.version>3.7.2</mule.version>
    <mule.tools.version>1.1</mule.tools.version>
</properties>

<build>
    <plugins>
        <plugin>
            <groupId>org.mule.tools.maven</groupId>
            <artifactId>mule-app-maven-plugin</artifactId>
            <version>${mule.tools.version}</version>
            <extensions>true</extensions>
            <configuration>
                <copyToAppsDirectory>true</copyToAppsDirectory>
            <inclusions>
                    <inclusion>
                        <groupId>org.mule.modules</groupId>
                        <artifactId>mule-module-magento</artifactId>
                    </inclusion>
                </inclusions>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.2.1</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>project</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <version>1.7</version>
            <executions>
                <execution>
                    <id>add-resource</id>
                    <phase>generate-resources</phase>
                    <goals>
                        <goal>add-resource</goal>
                    </goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>src/main/app/</directory>
                            </resource>
                            <resource>
                                <directory>mappings/</directory>
                            </resource>
                        <resource>
                                <directory>src/main/api/</directory>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<!-- Mule Dependencies -->
<dependencies>
    <!-- Xml configuration -->
    <dependency>
        <groupId>com.mulesoft.muleesb</groupId>
        <artifactId>mule-core-ee</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <!-- Xml configuration -->
    <dependency>
        <groupId>com.mulesoft.muleesb.modules</groupId>
        <artifactId>mule-module-spring-config-ee</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <!-- Mule Transports -->
    <dependency>
        <groupId>org.mule.transports</groupId>
        <artifactId>mule-transport-file</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mule.transports</groupId>
        <artifactId>mule-transport-http</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.mulesoft.muleesb.transports</groupId>
        <artifactId>mule-transport-jdbc-ee</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.mulesoft.muleesb.transports</groupId>
        <artifactId>mule-transport-jms-ee</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mule.transports</groupId>
        <artifactId>mule-transport-vm</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <!-- Mule Modules -->
    <dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-module-scripting</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-module-xml</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
    <!-- for testing -->
    <dependency>
        <groupId>org.mule.tests</groupId>
        <artifactId>mule-tests-functional</artifactId>
        <version>${mule.version}</version>
        <scope>test</scope>
    </dependency>
<dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-module-http</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
<dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-module-magento</artifactId>
        <version>2.2.0</version>
    </dependency>
<dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-module-json</artifactId>
        <version>${mule.version}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

<repositories>
      <repository>
        <id>Central</id>
        <name>Central</name>
        <url>http://repo1.maven.org/maven2/</url>
        <layout>default</layout>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>mulesoft-release</id>
        <name>mulesoft release repository</name>
        <layout>default</layout>
        <url>http://repository.mulesoft.org/releases/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

有什么想法吗? 我错过了什么?

我可以看到您有一个用于 maven central 的存储库以及另一个用于 mule 插件的存储库。

尝试将以下存储库添加到 <repositories> ... </repositories>?

   <repository>
       <id>mulesoft-releases</id>
       <name>MuleSoft Releases Repository</name>
       <url>http://repository.mulesoft.org/releases/</url>
       <layout>default</layout>
   </repository>
   <repository>
       <id>mulesoft-snapshots</id>
       <name>MuleSoft Snapshots Repository</name>
       <url>http://repository.mulesoft.org/snapshots/</url>
       <layout>default</layout>
   </repository>

然后再次尝试 maven 构建?

(使用this pom作为参考)

问题是,3.7.2 版不能在开放的 Maven 存储库中免费获得。你必须有一个 Mule-EE Mavenrepository,才能得到你丢失的 mule-module-validation.jar 版本 3.7.2

一种解决方法,如果您想坚持使用当前的 3.7.2 并且无法访问 Mule-EE 存储库(您需要为此输入密码...),您可以下载 3.7.0手动罐子 - 例如从 https://repository.mulesoft.org/nexus/content/repositories/releases/org/mule/modules/mule-module-validation/ 并在本地 maven-repository 中手动创建一个 3.7.2 文件夹,复制 3.7.0 jar 并将其重命名为 3.7.2。在这种情况下,应该只有微小的变化,而且 3.7.0 很有可能像 3.7.2 一样运行。

如果要上production,不推荐这个。要么你切换到 Mule 3.7.0 CE,它的所有依赖项都应该免费提供,要么你从 MuleSoft 购买企业订阅。

这是我所做的:

  1. 安装了最新的 CE(社区版)Mule Runtime。
  2. mule-project.xml 中,将服务器运行时更​​改为 Mule Server 3.8.1 CE
  3. 再次对项目进行Maven化(删除之前的pom.xml)。
  4. 使用新创建的 pom.xml.
  5. 编译项目

这成功了。