mvn clean install,mvn install:install-file命令?

时间:2012-06-05 05:29:52

标签: maven

我正在学习maven并试图理解事物的顺序。据我所知,mvn clean install使用默认的jar构建存储库,其中install生成一个我稍后需要的.zip。

我想使用我称之为mvn install:install-file的自定义jar,但是当我在install之前运行时,我会收到一些cannot find symbol错误。我假设我的自定义jar(不包含这些类)覆盖了一些默认的jar?我在文件系统的任何地方都找不到这些类,所以我假设它们已经打包在1个默认的jar中。我怎么能绕过这个?

另外,我应该做哪些命令?我想要的只是最终的.zip,其中包括自定义jar?

2 个答案:

答案 0 :(得分:0)

  1. mvn install - 构建并打包源代码并将工件复制(安装)到本地存储库$USER_HOME/.m2/repository

  2. 如果不查看您输入的命令以及收到的错误跟踪,很难说明发生了什么。也就是说,install-file是将工件复制到适当层次结构的本地存储库。它只不过是那个。正确的语法是:

    mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
        -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
    
  3. 通常,您只需要为所有自定义依赖项运行install:install-file一次,然后再执行mvn install

  4. 如果您的自定义jar具有相同的坐标 - artifactid,groupid和version作为pom.xml中的某些依赖项,并且您的自定义jar文件没有您的源代码所使用的类别 - 那么,你得到错误。

  5. 参考:http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

答案 1 :(得分:0)

关于他们提到的maven-install-plugin website如下: -

  

安装:install-file: 主要用于将外部创建的工件 及其POM安装到本地存储库中。在这种情况下,项目信息可以从可选的指定pomFile获取,但也可以使用命令行参数给出。

这意味着应在使用此命令之前创建工件。如果您想将新编译的代码部署到本地存储库,请使用 mvn clean install

请查看Introduction to the Build Lifecycle以获取有关序列和生命周期的更多信息。我希望这可能有所帮助。

此致

Charlee Ch。