0

当我运行任何 maven 命令(如mvn cleanormvn clean install或)时,我遇到了错误mvn eclipse:eclipse

但是我可以在我的系统中运行除此之外的任何其他 maven 项目,所以我确信它与路径问题或代理无关。

以下是我的错误

1.[错误]构建无法读取1个项目-> [帮助1] org.apache.maven.project.ProjectBuildingException:处理POM时遇到一些问题:

2.[错误] 无法解决的构建扩展:插件 com.opencloud.maven.plugins:maven-opencloud-jainslee-plugin:1.1 或其依赖项之一无法解决:未能找到“com.opencloud.maven.plugins:maven “ http://repo.maven.apache.org/maven2 ”中的-opencloud-jainslee-plugin:jar:1.1”被缓存在本地仓库中,直到central的更新间隔已经过去或更新完成后才会重新尝试解析强制@

3.[错误]未知包装:"

我用 maven 命令生成了 sbb 文件, mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeCatalog=http://developer.opencloud.com/maven2/public它生成成功。

但是当使用 mvn clean install 构建它时,它会出现上述错误

下面是我的 POM.xml

<modelVersion>4.0.0</modelVersion>
    <groupId>com.bt</groupId>
    <artifactId>myapp-sbb</artifactId>
    <packaging>jainslee-sbb-jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>myapp SBB</name>

    <dependencies>
        <dependency>
            <groupId>javax.slee</groupId>
            <artifactId>jainslee-api</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>com.opencloud</groupId>
            <artifactId>jainslee-base-classes</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>com.opencloud.maven.plugins</groupId>
                <artifactId>maven-opencloud-jainslee-plugin</artifactId>
                <extensions>true</extensions>
                <version>1.1</version>
                <configuration>
                    <jainsleeVersion>1.1</jainsleeVersion>
                    <createLibrary>true</createLibrary>
                    <createDeploymentUnit>true</createDeploymentUnit>
                </configuration>
            </plugin>
        </plugins>

    </build>

当我在命令行和 Eclipse 中运行 maven clean 时,我会得到以下错误

C:\Users\611542579\Documents\NOAS-CSG\Sample\com.bt>mvn clean

[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project myApp:com.bt-sbb:1.0-SNAPSHOT
      (C:\Users\611542579\Documents\NOAS-CSG\Sample\com.bt\pom.xml) has 2 errors
[ERROR]     Unresolveable build extension: Error resolving version for plugin
     'com.opencloud.maven.plugins:maven-opencloud-jainslee-plugin'
      from the repositories
         [local (C:\Users\611542579\.m2\repository),
         central (http://repo.maven.apache.org/maven2)]:
         Plugin not found in any plugin repository -> [Help 2]
[ERROR]     Unknown packaging: jainslee-sbb-jar @ line 7, column 16
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginVersionResolutionException
4

1 回答 1

0

也许你的 pom 中需要这样的东西:

<pluginRepositories>
    <pluginRepository>
        <id>jainslee</id>
        <name>Jainslee repos</name>
        <url>http://developer.opencloud.com/maven2/public</url>
        <releases>
            <enabled>false</enabled>
        </releases>
    </pluginRepository>
</pluginRepositories>

这个

http://developer.opencloud.com/maven2/public

是你在命令行中给出的,但它也在你的 pom 中吗?

也可能是您的本地 Maven 存储库存在问题。尝试以下操作:

在本地 maven repo 中找到相应的路径

{home}/.m2/repositories/com/opencloud/maven/plugins/maven-opencloud-jainslee-plugin

并删除该目录。再试一次。

更新:看看这部分的错误信息

[ERROR]     Unresolveable build extension: Error resolving version for plugin
     'com.opencloud.maven.plugins:maven-opencloud-jainslee-plugin'
      from the repositories
         [local (C:\Users\611542579\.m2\repository),
         central (http://repo.maven.apache.org/maven2)]:
         Plugin not found in any plugin repository -> [Help 2]

您可以看到该插件首先从您的本地搜索,然后从中央 Maven 存储库中搜索。在那里找不到。应该从这里搜索

http://developer.opencloud.com/maven2/public

<pluginRepositories>这就是为什么你的 pom 中需要那个部分的原因。

如果您无法编辑有问题的 pom 创建虚拟项目,请在该项目中添加此 pluginRepository 和插件,运行它mvn install:它应该将插件下载到您的本地 repo。

也许那时您就可以运行有问题的原始项目而不会出错。

于 2017-10-27T11:56:18.630 回答