如何使用Maven组织本地依赖项?

时间:2016-04-26 08:35:16

标签: java maven

在我公司,我有一个Java项目:

  • common:这包含用于多个项目的类
  • GUI:此项目包含常用的GUI

没有Maven,我在类路径中添加了common,我可以构建项目。但是当我想用Maven构建GUI时,如何设置POM.xml和Eclipse工作区?

我也想稍后将应用程序打包成JAR,所以我尝试将gui设置为.jar包

mvn_package

但是,如何将Maven类型分配给公共项目?

理想情况下,我可以导入"普通"到Maven项目?

更新

好的,似乎mvn package命令能够解析" common"我添加为本地依赖项的项目在GUI下查看此enter image description here。关于是否使用" pom"," maven-plugin"仍然有点困惑。或"模块" - 任何人都可以添加一些链接/说明,什么时候使用什么方法?

3 个答案:

答案 0 :(得分:1)

在GUI中声明常见的maven依赖。 如果它不是maven项目,请将其添加到本地存储库,如How to add local jar files in maven project?所示

答案 1 :(得分:1)

我会按照这个步骤

  1. 创建local maven repository以存储自定义jar。除了包含pom文件的正确目录结构外,其他任何东西都没有。
  2. 创建子项目(common,gui)并将它们打包为jar。
  3. 将本地jar安装到本地mvn存储库。
  4. 使用jar作为项目的依赖项。
  5. 示例:

    1. ${master_project}位置创建主项目,并在${master_project}/${common}${master_project}/${gui}位置创建子项目。

    2. ${master_project}/local-maven-repo

    3. 中创建mvn存储库
    4. ${master_project}/${gui}/pom.xml

      中的子项目pom.xml 中指定您的本地存储库位置
      <repository>
          <id>local-maven-repo</id>
          <url>file:///${project.parent.basedir}/local-maven-repo</url>
      </repository>
      

    5. 在本地mvn存储库中安装您的jar

      mvn install:install-file
      -Dfile=<path-to-file>
      -DgroupId=<group-id>
      -DartifactId=<artifact-id>
      -Dversion=<version>
      -Dpackaging=<packaging>
      -DgeneratePom=true
      
      Where: <path-to-file>  the path to the file to load
      <group-id>      the group that the file should be registered under
      <artifact-id>   the artifact name for the file
      <version>       the version of the file
      <packaging>     the packaging of the file e.g. jar
      
    6. 最后将它们用作常规依赖

       <dependency>
           <groupId>org.company</groupId>
           <artifactId>common</artifactId>
           <version>0.9.0-SNAPSHOT</version>
       </dependency>
      
    7. Reference这个答案。 这是Maven multiple module projects

      的更多资源

答案 2 :(得分:0)

使用以下link在您的eclipse中安装maven插件。 这将使你的日食中的maven成为可能。然后右键单击您的项目并单击Configure,您将看到Convert to Maven Project选项。这会将您现有的项目转换为maven项目。您可以将项目配置为在从向导进行转换时构建为.jar,.war等。以下是如何进行操作的教程...... link