我是使用Maven构建项目的新手。我知道您在POM文件中声明了依赖项,这些依赖项概述了项目所需的jar,以便它们在编译时添加到构建中。
我的问题是,当我需要jar文件来开发应用程序时,它在开发过程中如何工作?我认为Maven的观点是你不必实际拥有jar文件,它会被获取并在构建时加入战争。但是如果我正在开发并且我需要一个jar文件(例如Jersey),我仍然需要自己拿出jar并将它放在lib目录中以便进行开发工作,对吧我知道.jar中有哪些类/方法可供我使用?有人可以向我解释我错过了什么吗?
引用jersey类的import语句是否会在编译时解决,因为现在它们以红色加下划线,因为jar当前不存在?
答案 0 :(得分:1)
您的假设或推定或构想是错误的。
让我们举个例子。您正在创建一个新的Web应用程序项目
答案 1 :(得分:1)
首先,对于任何Java Maven项目,您必须选择“Build With Dependencies”选项,尤其是在使用NetBeans时。使用Eclipse,您可以选择“下载源代码”。完成后,将下载Maven依赖项(JAR文件)。
此外,您说过您的import语句将在编译时解析。单击“使用依赖项构建”选项(右键单击NetBeans中的Java项目)即可完成此操作,因为这将下载所有依赖项并构建应用程序并解析使用pom.xml中找到的JAR库的任何导入
答案 2 :(得分:1)
一旦你在Maven pom中指定了一个依赖项,那么它的maven就有责任下载它。记住,Maven不会为你的代码是否依赖于那个jar而烦恼。 所以在你的ide创建Maven项目[不是简单的java项目]中,在pom中添加所有依赖项,当你保存pom时,将下载所有依赖项。 如果没有下载依赖项,那么您需要检查maven settings.xml文件,其中存储库URL或凭据可能不正确。
还想要广告构建部分详细信息。 Maven有很多插件可以帮助你在war文件[assembly plugin]或rpm [maven rpm plugin]中打包所有依赖项。这些插件会将所有依赖项和主jar一起包装到单个可部署文件中。