我正在学习maven并试图理解事物的顺序。据我所知,mvn clean install
使用默认的jar构建存储库,其中install
生成一个我稍后需要的.zip。
我想使用我称之为mvn install:install-file
的自定义jar,但是当我在install
之前运行时,我会收到一些cannot find symbol
错误。我假设我的自定义jar(不包含这些类)覆盖了一些默认的jar?我在文件系统的任何地方都找不到这些类,所以我假设它们已经打包在1个默认的jar中。我怎么能绕过这个?
另外,我应该做哪些命令?我想要的只是最终的.zip,其中包括自定义jar?
答案 0 :(得分:0)
mvn install
- 构建并打包源代码并将工件复制(安装)到本地存储库$USER_HOME/.m2/repository
如果不查看您输入的命令以及收到的错误跟踪,很难说明发生了什么。也就是说,install-file
是将工件复制到适当层次结构的本地存储库。它只不过是那个。正确的语法是:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
通常,您只需要为所有自定义依赖项运行install:install-file
一次,然后再执行mvn install
。
如果您的自定义jar具有相同的坐标 - artifactid,groupid和version作为pom.xml
中的某些依赖项,并且您的自定义jar文件没有您的源代码所使用的类别 - 那么,你得到错误。
参考: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。