Java 马文赢了';不要加载我的自定义库
我有两个项目都使用maven。项目A是一个实用程序库,我使用Java 马文赢了';不要加载我的自定义库,java,maven,Java,Maven,我有两个项目都使用maven。项目A是一个实用程序库,我使用mvn install来安装本地maven repo。项目B是一个web应用程序,它依赖于一个库 当我运行B项目时,使用mvn jetty:run它不会在本地maven存储库中加载a.jar,但是如果我执行mvn package来打包我的web应用程序,a.jar将在其web-INF/lib中加载 我在maven 3.1和maven 3.2下试过,两者都有问题 我是Maven 3的新手,多年来一直在使用Maven 2,为什么这个解决方案
mvn install
来安装本地maven repo。项目B是一个web应用程序,它依赖于一个库
当我运行B项目时,使用mvn jetty:run
它不会在本地maven存储库中加载a.jar
,但是如果我执行mvn package
来打包我的web应用程序,a.jar将在其web-INF/lib中加载
我在maven 3.1和maven 3.2下试过,两者都有问题
我是Maven 3的新手,多年来一直在使用Maven 2,为什么这个解决方案不能像以前一样工作呢
编辑:
从pom.xml
:
<dependency>
<groupId>me.donnior</groupId>
<artifactId>rtl</artifactId>
<version>0.3</version>
</dependency>
我,唐尼奥
rtl
0.3
编辑:
我的问题是,当运行mvnjetty:run
时,无法找到我自己安装的A.jar,但可以在类路径中找到从网络下载的其他第三方jar
更新:
我发现这是jetty插件的依赖性问题,现在可以关闭。mvn jetty:run不执行打包生命周期 它无需打包即可启用项目。在此模式下,项目的每个组件都从其原始位置开始使用
尝试使用
jetty:deploywar
,因为它执行mvn包生命周期阶段 向我们展示B项目中pom.xml
的相关
元素。me.donnior rtl 0.3我注意到Maven3对本地存储库有了一个新的解决方案,但它非常混乱。检查您的本地存储库(~/.m2/repository/me/donnior/rtl/0.3
)是否有实际的JAR。如果没有,则删除整个rtl
文件夹,并再次在项目A上执行mvn安装
。如果这次本地存储库托管了一个合适的JAR,然后再次尝试打包你的B
应用程序。@PawełWyrwiński实际的JAR在那里,如果我执行mvm package
,它将包含在我打包的B应用程序中,问题是当我运行mvm jetty:run
时它将不在类路径上,我知道,我的问题是,当我运行mvnjetty:run
时,除了我自己安装的库之外,可以找到从网络下载的所有其他jar。