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 购买企业订阅。
这是我所做的:
- 安装了最新的 CE(社区版)Mule Runtime。
- 在
mule-project.xml
中,将服务器运行时更改为 Mule Server 3.8.1 CE
。
- 再次对项目进行Maven化(删除之前的
pom.xml
)。
- 使用新创建的
pom.xml
. 编译项目
这成功了。
正在尝试 运行 使用 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 购买企业订阅。
这是我所做的:
- 安装了最新的 CE(社区版)Mule Runtime。
- 在
mule-project.xml
中,将服务器运行时更改为Mule Server 3.8.1 CE
。 - 再次对项目进行Maven化(删除之前的
pom.xml
)。 - 使用新创建的
pom.xml
. 编译项目
这成功了。