对IntellijIDEA和Maven的问题

时间:2013-10-08 10:30:36

标签: maven jar intellij-idea java

在过去的几年里,我一直在使用XCode和Objective-C,但我知道,一旦我必须转换到Java项目的Eclipse等。案例是,我并不特别喜欢Eclipse,这让我进入了一个新的开发环境,即IntellijIDEA。但是,我完全不熟悉如何处理文件以及如何添加外部库,也不知道我的CLASSPATH应该是什么。我在哪里将这些外部库保留在我的项目中?我也在使用Maven,我不太清楚为什么要使用依赖项。如果我在我的Classpath中包含.jar - 或者我存储我的资源,类等等 - 为什么会有依赖?我有一个工作项目,但我不习惯发布或使用它,而不完全确定我在那里做了什么。我理解如何在IntelliJ中添加外部.jar文件,但是在哪里可以在项目中添加这些外部库?

这就是我到目前为止的做法: 假设我已经下载了一个Maven项目,我想在其他项目中使用它。我使用mvn install然后(在我的模块设置中)我将目标文件夹中的.jar添加为外部库。 IntelliJ是否保留对该.jar文件的引用?如果.jar在我的下载文件夹中并且我想将项目转移到服务器,这个连接是否已损坏?

2 个答案:

答案 0 :(得分:3)

在Maven项目中,您在pom.xml文件中添加了您依赖的库,没有需要将它们添加到IDE中的其他位置和/或通过IDE将它们链接到您的项目。只需在pom.xml文件中添加新的依赖项。

maven存储(如果没有另外设置)文件夹中的所有工件(库):~/.m2/,这是您保留依赖关系的位置,以及哪个是您的本地maven存储库。

Maven让您的生活更轻松,因为您不必再​​将jar添加到类路径中。确保您的maven项目确实被IDE识别为maven项目(通常它在项目视图中只是一个小的 M )。

这是maven的简短介绍,在开始时帮助了我很多:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html,尤其是为了理解生命周期。

正如您所提到的mvn install:您构建的工件将部署到您的本地maven存储库,您拥有的所有其他项目都可以使用此工件,并将引用您部署的最新工件。

您可以像运行任何其他项目一样运行项目,单击运行按钮并选择您的主类。

如果你的项目产生了一个可运行的jar,你也可以在pom.xml文件中定义它。请参阅How can I create an executable JAR with dependencies using Maven?在一个jar中创建一个包含所有依赖项/库的jar,或者How to create a runnable jar with maven that includes dependencies in a separate "lib" folder (not an uber jar)为可运行的jar创建一个jar,它将deps / lib放到一个单独的文件夹中。无论如何,在两种情况下,Maven都会适当地生成MANIFEST文件(可执行jar所需)。

答案 1 :(得分:1)

尝试mvn idea:idea从maven的pom.xml为IntellijIDEA生成项目。然后只需打开项目并查看添加的所有库。