我有一个多模块项目。
Uaaper是父母pom
UaaPersi是孩子pom。
UaaClient是第三个使用UaaPersi生成的jar的应用程序
我已使用mvn install命令在我的本地仓库中成功安装了UaaPersi jar。
现在我有使用UaaPersi jar的UaaClient。 UaaClient的依赖关系如下所示
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>UaaClient</groupId>
<artifactId>ThirdPartyApp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>ThirdPartyApp</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- this jar is generated by me -->
<dependency>
<groupId>Uaaper</groupId>
<artifactId>Uaapersi</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
当我做eclipse时:eclipse
与jar Uaapersi-0.0.1-SNAPSHOT相关的所有依赖项都包含在项目UaaClient的类路径中。但是,它缺少类路径中的jar Uaapersi-0.0.1-SNAPSHOT。
当我查看课程路径时,如下所示
<classpath>
<classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
<classpathentry kind="src" path="src/main/java" including="**/*.java"/>
<classpathentry kind="output" path="target/classes"/>
<classpathentry kind="var" path="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4.3/mail-1.4.3.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
<classpathentry kind="src" path="/Uaapersi"/>
缺少来自M2_REPO的Uaapersi类路径
<classpathentry kind="src" path="/Uaapersi"/>
当我将由我生成的jar放在本地仓库上时,我似乎需要做额外的配置,因为没有从M2仓库设置类路径。但是,当我做mvn包时,在war文件中这个jar就存在了。
我需要做什么额外的配置才能让jar的类路径从本地仓库设置?
请帮帮我
答案 0 :(得分:1)
默认情况下,eclipse maven插件从工作区获取项目并将其放入类路径中,以禁用此行为并强制它查看您需要的maven本地存储库
right click on your UaaClient > maven > disable workspace resolution
然后刷新项目并调用
clean compile eclipse:eclipse
通过eclipse maven插件实现maven目标