我有一个依赖于2个jar文件的应用程序:
我想使用Maven结构构建我的项目。我按照Maven站点教程创建了这样的结构:
mvn -B archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=source.app -DartifactId=project
我已将源文件FileProcess.java放在E:\ project \ src \ main \ java \ source \ app中。
FileProcess依赖于2个外部.jar文件,但我不知道如何在pom.xml中定义此依赖项。
到目前为止,这是pom.xml的内容:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>source.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
任何人都可以帮助我吗?
答案 0 :(得分:2)
如果有问题的JAR是您自己的代码而不是第三方,那么最好的方法是“构建”构建它们的项目。执行此操作后,在这些项目上运行mvn install
会将它们放在Maven本地存储库中,以便将其声明为依赖项的其他本地Maven项目可用。
答案 1 :(得分:1)
避免直接将它们添加到pom.xml
文件中。当您使用此流程添加.jars
时,它们会自动反映在您的pom.xml
中
步骤是 -
1.在Eclipse中的文件资源管理器中右键单击您的项目。
2.转到构建路径选项。
3.选择configure build path
4.在出现的窗口中选择Libraries
选项卡。
5.在外部添加.jar
文件。
6.单击“确定”并返回到项目界面
按Alt+F5
更新您的maven项目并重新启动eclipse。你的问题应该解决。
答案 2 :(得分:1)
首先需要在maven本地存储库中安装jar。您可以按照官方教程进行操作:
https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
在安装过程中,您必须选择自己的artifactId,groupId和版本。您可以选择您想要的任何值,但要记住它们,因为您需要将它们包含在pom中。
之后,您可以将它们包含在您的pom.xml中,在每个库的标记dependencies
下添加这些行,以包含:
<dependency>
<groupId>your_group_id</groupId>
<artifactId>your_artifact_id</artifactId>
<version>your_version</version>
</dependency>
答案 3 :(得分:1)
我会采取以下路线,因为这是供公司使用。这是一种艰难且最终可移植的方式,可以为将来的Maven使用做好准备。
1)制作那些依赖的罐子Maven项目(因为那时你可以使用Maven轻松地对它们进行版本管理)
2)使用本地存储库管理器并使用mav发布管理通过mvn:release插件将自己的项目部署到它,或者使用像Hudson这样的构建服务器通过简单的按钮按下来自动化发布过程我可以强烈建议设置。
https://maven.apache.org/repository-management.html
http://maven.apache.org/maven-release/maven-release-plugin/
3)mvn:将依赖项jar释放到本地存储库管理器,以便它们可用于其他Maven项目
4)您实际上已经完成了,当您拥有一个本地存储库,您可以在其中部署自己的快照和发布工件,然后您的maven构建可以找到您自己的maven模块并将它们包含在应用程序依赖项中 - 如果您别忘了忘记在项目的pom中配置存储库。如果你有一个构建服务器也可以找到它们。
建议使用easy / lazy路由手动将jar安装在本地.m2文件夹中,其中Maven缓存它下载的依赖项,但它绝对不是经得起时间考验的便携式解决方案。当其他人需要在这个项目上工作,直到他们在本地安装罐子时,它才会工作。或者如果它只是你,你需要在每次在另一台计算机/另一个用户上签出项目时重做它。此外,您需要在每次对项目进行更改时更新jar,在项目签出的任何位置。您可能需要执行特定的设置步骤以使其在IDE中运行,如果您不可避免地选择开始使用它。
但是,如果您遇到时间压力问题,那么我一定会继续这样做,作为临时解决方案,以便能够开始。