Maven pom.xml本地依赖项未解决



使用eclipse mavenjava 1.7,我设计了两个名为webservice.staff.backendwebservice.webuser.backend的后端。

现在还有另一个webservice是由我们的一些高级团队成员编写的,这是git与我共享的项目的另一个模块。

pom.xml 年的这个新项目中,添加了两个本地项目依赖项,如下所示。

    <dependency>
        <groupId>webservice.staff.backend</groupId>
        <artifactId>webservice.staff.backend</artifactId>
        <version>1.0.0</version>
        <classifier>classes</classifier>
        <type>jar</type>   //used jar but webservices packaging as a war
    </dependency>
    <dependency>
        <groupId>webservice.webuser.backend</groupId>
        <artifactId>webservice.webuser.backend</artifactId>
        <version>1.0.0</version>
        <classifier>classes</classifier>
        <type>jar</type> // used jar but webservices packaging as a war
    </dependency>

但是当我只是尝试执行 Maven clean install 时,这些依赖关系并没有得到解决。我在早期webservice项目中发现的是打包为WAR但在这里用作jar

这是pom.xml中较早的项目打包类型。

<groupId>webservice.staff.backend</groupId>
    <artifactId>webservice.staff.backend</artifactId>
    <packaging>war</packaging> //packaged as war but used as jar??
<groupId>webservice.webuser.backend</groupId>
    <artifactId>webservice.webuser.backend</artifactId>
    <packaging>war</packaging>  //packaged as war but used as jar in
    /*I Have also Changed packaging as a jar and then clean Install 
      and try to build the New Project but error still the same. */

错误堆栈跟踪

[ERROR] Failed to execute goal on project webservice.credit.backend: Could not resolve dependencies for project webservice.credit.backend:webservice.credit.backend:war:2.0.0: The following artifacts could not be resolved: webservice.staff.webservice.staff.backend:jar:classes:1.0.0, webservice.webuser.backend:webservice.webuser.backend:jar:classes:1.0.0: Failure to find webservice.staff.backend:webservice.staff.backend:jar:classes:1.0.0 in http://download.java.net/maven/2/ was cached in the local repository, resolution will not be reattempted until the update interval of Java.Net has elapsed or updates are forced -> [Help 1]
[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.

注意:- 在这方面,我已经尝试了很多方法,也有很多关于stackOverflow的答案,但没有人给我正确的解决方案。

请帮助任何人解决这个问题。谢谢。

删除<classifier>classes</classifier>

<dependency>
    <groupId>webservice.staff.backend</groupId>
    <artifactId>webservice.staff.backend</artifactId>
    <version>1.0.0</version>
    <type>jar</type>
</dependency>
<dependency>
    <groupId>webservice.webuser.backend</groupId>
    <artifactId>webservice.webuser.backend</artifactId>
    <version>1.0.0</version>
    <type>jar</type>
</dependency>

两个项目的 POM 将是相同的,除了包装将是 jar :

<groupId>webservice.staff.backend</groupId>
<artifactId>webservice.staff.backend</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>
<groupId>webservice.webuser.backend</groupId>
<artifactId>webservice.webuser.backend</artifactId>
<packaging>jar</packaging>
<version>1.0.0</version>

确保您的设置.xml如下所示:

<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
                      https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>${user.home}/.m2/repository</localRepository>
  <interactiveMode>true</interactiveMode>
  ------
</settings>

我在这里上传了示例。

终于!!
得到了解决方案。

我需要在clean期间做什么install添加额外的param mvn导出类文件。 参数 ==> -Dattach.and.archive.classes=truemvn 命令。

mvn clean install -Dattach.and.archive.classes=true //added one extra param
   // -Dattach.and.archive.classes=true solved my dependency Problem.

注意:- 如果您在项目打包中定义为pom.xml war并希望在本地maven存储库中将jar作为依赖项。只需将这个额外的选项与-Dattach.and.archive.classes=true放在mvn.

最新更新