如何修复Maven Mulesoft代码的构建错误 [英] how to fix build errors for Maven Mulesoft code

查看:605
本文介绍了如何修复Maven Mulesoft代码的构建错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试用Bamboo在Maven中构建Mulesoft代码.构建成功了,但是现在出现如下错误.我正在使用Bamboo 6.5.0和jdk 1.8.使用Maven3.错误详细信息如下,我的pom.xml,settings.xml也是如此!任何输入表示赞赏!

I'm trying to build mulesoft code with maven in Bamboo.Build was successfull but now giving errors as below. I'm using Bamboo 6.5.0 and jdk 1.8. with Maven 3. The error details are as below and my pom.xml, settings.xml as well ! Any inputs appreciated !

    build   01-Oct-2018 11:46:02    Caused by: org.apache.maven.plugin.MojoExecutionException: NoFileAssignedException
build   01-Oct-2018 11:46:02        at org.apache.maven.plugins.install.InstallMojo.installProject(InstallMojo.java:152)
build   01-Oct-2018 11:46:02        at org.apache.maven.plugins.install.InstallMojo.execute(InstallMojo.java:108)
build   01-Oct-2018 11:46:02        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
build   01-Oct-2018 11:46:02        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
build   01-Oct-2018 11:46:02        ... 20 more
build   01-Oct-2018 11:46:02    Caused by: org.apache.maven.shared.transfer.project.NoFileAssignedException: The packaging plugin for this project did not assign a main file to the project but it has attachments. Change packaging to 'pom'.
build   01-Oct-2018 11:46:02        at org.apache.maven.shared.transfer.project.install.internal.DefaultProjectInstaller.install(DefaultProjectInstaller.java:116)
build   01-Oct-2018 11:46:02        at org.apache.maven.plugins.install.InstallMojo.installProject(InstallMojo.java:140)
build   01-Oct-2018 11:46:02        ... 23 more

我的pom.xml和settings.xml如下所示.

My pom.xml and settings.xml look as below.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mule</groupId>
    <artifactId>mycontacts-mule-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>mule</packaging>
    <name>Mule mycontacts-mule-api Application</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <mule.version>3.9.0</mule.version>

        <mule.munit.support.version>3.9.1</mule.munit.support.version>
        <munit.version>1.3.7</munit.version>

        <mule.tools.version>1.2</mule.tools.version>
        <application-name>mycontacts-mule-api</application-name>

        <proxy.api.version>1.0:15535407</proxy.api.version>
        <implementation.host>null</implementation.host>
        <implementation.port>80</implementation.port>
        <implementation.path>/api</implementation.path>
    </properties>
    <distributionManagement>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <url>http://prdbambap02:8081/artifactory/libs-release</url>
        </repository>
        <snapshotRepository>
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <url>http://prdbambap02:8081/artifactory/libs-snapshot</url>
        </snapshotRepository>
    </distributionManagement>
    <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>
                </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>

        <testResources>
            <testResource>
                <directory>src/test/munit</directory>
            </testResource>
            <testResource>
                <directory>src/test/resources</directory>
            </testResource>
        </testResources>

    </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-apikit</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <!-- dependencies for Mule CoE Begins -->
        <!-- https://mvnrepository.com/artifact/guru.nidi.raml/raml-tester-standalone -->
        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-proxy</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-raml-el-gw</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>


        <!--<dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId> mule-module-spring-config-gw</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency> -->

        <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>mule-module-spring-config-gw</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>api-gateway-client</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
         </dependency>
         <dependency>
            <groupId>com.mulesoft.anypoint</groupId>
            <artifactId>gateway-core</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
         </dependency>

        <dependency>
            <groupId>com.mulesoft.munit</groupId>
            <artifactId>mule-munit-support</artifactId>
            <version>${mule.munit.support.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.munit</groupId>
            <artifactId>munit-runner</artifactId>
            <version>${munit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.munit.utils</groupId>
            <artifactId>munit-dbserver-module</artifactId>
            <version>1.1.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-module-db</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-module-ws</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.mulesoft.weave</groupId>
            <artifactId>mule-plugin-weave</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-module-json</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.mule.modules</groupId>
            <artifactId>mule-module-cxf</artifactId>
            <version>${mule.version}</version>
            <scope>provided</scope>
        </dependency>
        <!-- dependencies for Mule CoE Ends -->
    </dependencies>

    <repositories>
        <repository>
            <id>Central</id>
            <name>Central</name>
            <url>http://repo1.maven.org/maven2/</url>
            <layout>default</layout>
        </repository>
        <repository>
            <id>mulesoft-releases</id>
            <name>MuleSoft Releases Repository</name>
            <url>http://repository.mulesoft.org/releases/</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>
</project>

和我的settings.xml如下

and my settings.xml as below

<?xml version="1.0" encoding="UTF-8"?>
<settings
    xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <pluginGroups>
        <pluginGroup>org.mule.tools</pluginGroup>
    </pluginGroups>
    <servers>
        <server>
            <id>mule-ee-repo</id>
            <username>balalba</username>
            <password>blbalbab</password>
        </server>
    </servers>
    <mirrors></mirrors>
    <profiles>
        <profile>
            <id>mule-ee-profile</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <mule-maven-plugin-version>2.2.1</mule-maven-plugin-version>
                <mule-username>username</mule-username>
                <mule-password>password</mule-password>
                <mule-client-id>blbalbalbal</mule-client-id>
                <mule-client-secret>blablblalbalba</mule-client-secret>
                <deployment-type>cloudhub</deployment-type>

                <business-group>group</business-group>


                <target-name>null</target-name>
                <target-type>null</target-type>
                <worker-size>Micro</worker-size>
                <worker-count>1</worker-count>
                <env-name>SIT</env-name>
            </properties>
            <repositories>
                <repository>
                    <id>mule-ee-repo</id>
                    <name>mule-ee-repo</name>
                    <url>https://repository.mulesoft.org/nexus-ee/content/repositories/releases-ee/</url>
                    <layout>default</layout>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>mule-ee-profile</activeProfile>
    </activeProfiles>
</settings>

推荐答案

官方支持消息:

原因:

Maven安装插件的新版本已在Maven公共存储库(3.0.0-M1)上发布. 默认情况下,Mule不会为此插件定义版本,而是选择最后一个.

A new version of the Maven Install Plugin has been published on the Maven public repositories (3.0.0-M1). By default, Mule doesn't define a version for this plugin and picks the last one.

该页面列出了以下临时解决方案,并建议刷新以上链接以进行更新.

The page lists the following as a temporary solution, and suggests refreshing the above link for updates.

更新pom.xml以指定Mule Maven插件要使用的Maven版本:

Update pom.xml to specify the Maven version to be used by the Mule Maven plugin:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.5.2</version>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.8.2</version>
</plugin>


-以上是原始解决方案,现在是替代解决方案.推荐的解决方案是:


New - the above is the original solution, which is now the alternative solution. The recommended solution is:

在pom.xml中更新mule.tools.version:

Update mule.tools.version in pom.xml:

<mule.tools.version>1.7</mule.tools.version>

并确保此属性由mule-app-maven-plugin使用:

And make sure this property is used by mule-app-maven-plugin:

<plugin>
    <groupId>org.mule.tools.maven</groupId>
    <artifactId>mule-app-maven-plugin</artifactId>
    <version>${mule.tools.version}</version>
    <extensions>true</extensions>
    ...
</plugin>

如果随后收到有关无法解析的构建扩展的错误,请从项目目录运行以下命令:

If you then get an error about unresolvable build extension, run the following from the project directory:

mvn dependency:purge-local-repository -DmanualInclude="org.mule.tools.maven:mule-app-maven-plugin:1.7"

这篇关于如何修复Maven Mulesoft代码的构建错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆