自己写了一个公共的模块,以jar包形式被其他项目依赖,因为想在其他项目中可以直接看此模块的源码,于是开始尝试将源码也打包放到本地maven仓库中。
一开始,我在命令行输入:
mvn source:jar
但是这个命令只是打了一个源码包放到了target下,可本地仓库中并没有
想到maven打包并安装到本地仓库用的是install,于是输入命令:
mvn install
虽然target下已经有了com.xxx.project-1.0-sources.jar,但仍然没有安装源码包到本地仓库
于是到maven官网看install的用法,install有三个goal
install:install is used to automatically install the project's main artifact (the JAR, WAR or EAR), its POM and any attached artifacts (sources, javadoc, etc) produced by a particular project.
install:install-file is mostly used to install an externally created artifact into the local repository, along with its POM. In that case the project information can be taken from an optionally specified pomFile, but can also be given using command line parameters.
install:help displays help information on maven-install-plugin.
用第二个goal,输入:
mvn install:install-file -file=target/com.xxx.project-1.0-sources.jar -DgroupId=com.xxx -DartifactId=project -Dversion=1.0 -Dclassifier=sources
成功了
但是,
如果打个源码包要这么麻烦的话,还不如自己打包-改名-放到本地仓库的对应目录中
难道用第一个goal就不到达到目的吗?maven-install-plugin会这么傻吗?
第一个goal中有这样一句:its POM and any attached artifacts(sources, javadoc, etc)
但是我不知道install插件是怎么样去认定attached artifacts
当我想尝试将清理、打源码包、安装到本地仓库用一行命令进行时,我发现这时候:源码包被安装进本地仓库了
mvn clean source:jar install
最后问题终于解决了,看来所谓attached artifacts指的是在同一次生命周期中参加的sources或javadoc生命周期
分享到:
相关推荐
** Maven的Jar包与源码包详解 ** Maven是一个强大的Java项目管理工具,它能够帮助开发者构建、管理和部署项目。在Maven的世界里,"jar包"和"源码包"是两种重要的资源,它们在开发和学习过程中起到至关重要的作用。 ...
### Maven源码打包的概念 在软件开发过程中,打包源代码通常是为了便于发布、分发或存档。通过打包源代码,开发者可以轻松地共享项目,而无需担心遗漏任何文件或配置。Maven提供了多种打包类型,包括`jar`、`war`、...
本文将详细解析“新建maven工程包含源码和文档”的主题,并基于提供的标签和文件名称,探讨如何创建一个完整的Maven项目,以及如何在项目中包含源码和文档。 首先,创建一个Maven项目的基本步骤如下: 1. **安装...
《Maven实战源码》是一本专为Java开发者设计的指南,旨在帮助初学者和有经验的开发者深入理解和掌握Maven这一强大的项目管理和构建工具。Maven不仅简化了项目的构建过程,还通过依赖管理和插件机制,使得软件开发...
** Maven 概述 ** Maven 是一个强大的项目管理和构建工具,广泛应用于...同时,提供源码包为开发者提供了深入学习和扩展 Maven 功能的机会。对于任何Java开发团队来说,熟练掌握 Maven 都是提升开发效率的关键步骤。
通过 `<dependencies>` 标签在 POM 文件中声明项目所依赖的库,Maven 将自动下载并管理这些库,避免了类冲突问题。 4. **生命周期与构建阶段** Maven 具有生命周期(Life Cycle),包含 clean、default 和 site 三...
4. **构建插件 (Plugins)**: Maven通过插件执行具体的构建任务,如编译源代码、创建JAR或WAR包、运行单元测试等。每个插件有自己的目标(goals),可以在生命周期的不同阶段被调用。 5. **构建配置**: 用户可以通过...
源码包中包含了Maven的所有模块和组件,开发者可以通过阅读源码学习如何扩展Maven或者贡献代码到开源社区。 ** 使用 Maven 进行项目构建 ** 1. 创建POM.xml文件,定义项目的基本信息和依赖。 2. 使用`mvn clean`...
1. **源码结构**:Maven源码主要分为几个模块,如`maven-core`、`maven-model`、`maven-plugin-api`等,每个模块都有明确的职责。 2. **核心组件**:Maven的核心组件包括ArtifactRepository(存储库)、...
在这个“zookeeper的maven形式的源码包”中,我们可以深入理解ZooKeeper的实现机制,以及如何将其集成到Maven项目中进行调试和开发。 首先,ZooKeeper基于Java编写,因此源码包中的内容主要是Java源文件。源码包...
【标题】"maven打jar包" 在Java开发中,Maven是一款强大的项目管理工具,它可以帮助开发者构建、管理和部署项目。"maven打jar包"是指使用Maven来打包Java应用程序,将其编译后的类文件和相关资源打包成一个可执行的...
在这个“Spring 3.0就这么简单源码Maven的jar包”中,我们将探讨Spring 3.0的关键特性以及Maven在构建和管理Spring项目中的作用。 首先,Spring 3.0引入了对Java 5和6的全面支持,包括泛型、枚举和注解。注解驱动的...
在源码包(apache-maven-3.6.0-src.zip)中,你可以找到Maven的所有源代码,这对于理解Maven的工作方式、调试问题或开发自定义插件非常有帮助。源码中包含了核心组件、插件、生命周期任务以及其他辅助模块。通过阅读...
然而,有时候我们需要将本地的jar包安装到Maven仓库,以便于在项目中引用,这就是“maven-install-jar-tool”所解决的问题。 “maven-install-jar-tool”是一个实用的工具,其主要功能是帮助开发者将本地的jar文件...
2. Maven源码: 拥有Maven的源码对于开发者来说非常有价值,你可以深入理解其内部工作机制,例如生命周期、构建过程、依赖解析等。这对于自定义插件开发或者调试Maven问题时特别有用。你可以通过阅读源码学习到如何...
通过声明项目依赖,Maven会自动下载并管理这些依赖的版本,避免了版本冲突的问题。在源码中,我们能看到`<dependencies>`标签下的各种依赖声明,如Spring、Hibernate等,这些依赖是如何被Maven处理的,以及如何在...
16. **问题与解决方案**: 针对常见的Maven问题提供解决方案,帮助开发者解决问题。 17. **进阶话题**: 探讨更高级的主题,如插件开发、远程POMs和构建优化。 18. **未来展望**: 展望Maven的发展趋势和可能的新特性...
Maven jar包是Maven的核心组件,包含了执行Maven命令所需的所有依赖和资源。这篇博客(链接已给出)可能介绍了如何找到并下载Maven的jar包。 首先,我们来理解Maven的基本概念。Maven是一个项目管理和综合工具,它...
"说明.txt" 和 "关注科帮网获取更多源码.url" 可能包含了关于这个源码包的使用说明和相关资源链接,对于理解和学习这个项目会有所帮助。阅读这些文件可以帮助我们更好地了解源码的背景和用途,以及如何进一步深入...