为jar创建本地存储库

时间:2015-12-22 20:33:38

标签: maven maven-2 maven-3 maven-plugin

我有主要的父POM文件,我用它来声明所有依赖项。我有3个submaven项目。这是文件结构:

C:\NetBeansProjects\project\pom.xml
C:\NetBeansProjects\project\Core\System_Commons\pom.xml
C:\NetBeansProjects\project\Core\Tracking_Service\pom.xml

我需要使用我的项目weblogic客户端 - wlfullclient.jar。我创建了本地maven存储库:

C:\NetBeansProjects\project\lib\com\weblogic\wlfullclient\10.3.6\wlfullclient-10.3.6.jar
C:\NetBeansProjects\project\lib\com\weblogic\wlfullclient\10.3.6\wlfullclient-10.3.6.pom

我添加了本地存储库:

<repository>
    <id>lib</id>
    <name>In Project Repo</name>
    <url>file://${basedir}/lib</url>
</repository>

Jar依赖:

<dependency>
    <groupId>com.weblogic</groupId>
    <artifactId>wlfullclient</artifactId>
    <version>10.3.6</version>
</dependency>

mvn install:install-file -Dfile=C:\wlfullclient-10.3.6.jar -DgroupId=com.weblogic -DartifactId=wlfullclient -Dversion=10.3.6 -Dpackaging=jar -DgeneratePom=true

但是我收到了这个错误:

[ERROR] Failed to execute goal on project System_Commons: Could not resolve dependencies for project org.project:System_Commons:bundle:1.0: Could not find artifact weblogic:wlfullclient:jar:10 at specified path C:\NetBeansProjects\project\Core\System_Commons\lib\wlfullclien
t-10.3.6.jar -> [Help 1]

正确的路径应该在C:\NetBeansProjects\project\lib\com\weblogic\wlfullclient\10.3.6\wlfullclient-10.3.6.jar

你能告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

不需要创建新的存储库(您有任何特定要求吗?),您已经拥有一个本地存储库。最简单的方法是将此特定jar安装到本地存储库。通常位于〜/ .m2文件夹(Mac / Unix)或C:\ Documents and Settings {your-username} .m2 for windows。请参阅here

所以你需要做的是应用以下命令:

mvn install:install-file -Dfile=wlfullclient-10.3.6.jar 
                         -DpomFile=wlfullclient-10.3.6.pom 
                         -DgroupId=com.weblogic 
                         -DartifactId=wlfullclient 
                         -Dversion=10.3.6 
                         -Dpackaging=jar

如果您想要一个单独的“本地”lib存储库,您可以在上面的示例中使用以下参数:

-DlocalRepositoryPath=path-to-specific-local-repo

参见参考文献here

您现在可以从您的pom中引用您的jar,并检查您的本地报告,确实已经安装了jar并且命名是正确的。

希望有所帮助。