2014-02-19 58 views
0

我有OmnitureAPI.jar,我無法在mvn回購中找到它。因此,儘管我自己會使用我在網上找到的以下命令來自行包含它,這些命令描述了我目前面臨的類似問題。如何在maven中包含第三方jar?

mvn install:install-file -Dfile=c:\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar 

我有兩個問題: 1)請問,我,包括需要以下Maven命名和包裝公約,如類應該放在src /主/ JAVA等罐子? 2)執行上面的命令時,我應該放入什麼-DgroupId = xxxx和-DartifactId = xxx?

請指導

+0

http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/ – JNL

+0

如果您使用netbeans,則可以「手動安裝」。另一種方法是建立artifactory的實例,然後在那裏添加jar,然後在settings.xml中引用artifactory,並且可以將pom的依賴添加到任何您稱爲組和artifactory回購中的工件。 – markg

+0

另外,如果您試圖在構建中包含此jar,並且有許多開發人員需要jar,那麼使用artifactory(或類似功能)路由是個好主意(IMO)。 – markg

回答

1

這裏的Guide to installing 3rd party jars.

如果它不是一個Maven構建的罐子,有沒有pom.xml中,你需要自己指定這些事情:

mvn install:install-file -Dfile=<path-to-your-jar> -DgroupId=<make-up-a-group-id> \ 
-DartifactId=<make-up-an-artifact-id> -Dversion=<specify-a-version> -Dpackaging=jar 

的最好的方法是使用包含在jar中的pom.xml文件(如果存在)。我最近做,這是我用過的命令:

mvn install:install-file -Dfile=./elasticsearch-river-jdbc-0.90.3.1.jar 

如果找不到POM,你可能需要在手動POM MVN指出:

mvn install:install-file -Dfile=elasticsearch-river-jdbc-0.90.3.1.jar -DpomFile=./META-INF/maven/org.xbib.elasticsearch.plugin/elasticsearch-river-jdbc/pom.xml 

如果有jar中沒有pom.xml,並且沒有組ID或者神器id存在,你可以自己編寫;但是當你引用JAR時你需要使用相同的參數。

+0

該jar不是maven jar,因此jar中沒有pom.xml,groupId或artifactId。我如何繼續? – user2325154

+0

我更新了答案。您需要指定groupId,artifactId和版本,並且您需要自己製作它們,本質上。當你將這個包含在你的maven項目中時,你將使用這些值來引用這個lib。 –

相關問題