Questions tagged «maven-2»

Apache Maven是一个软件项目管理和理解工具。这是针对Maven 2.x版的Maven相关问题的标记。


12
如何告诉Maven使用最新版本的依赖项?
在Maven中,依赖项通常是这样设置的: <dependency> <groupId>wonderful-inc</groupId> <artifactId>dream-library</artifactId> <version>1.2.3</version> </dependency> 现在,如果您正在使用发布频繁的库,则不断更新<version>标记可能会有些烦人。有什么方法可以告诉Maven始终使用最新版本(来自存储库)?

24
是否可以在不安装jar的情况下将jar添加到maven 2 build classpath?
在试验/快速而肮脏的开发阶段,Maven2让我发疯。 我有一个pom.xml文件,该文件定义了要使用的Web应用程序框架的依赖关系,并且可以从该文件快速生成入门项目。但是,有时我想链接到尚未pom.xml定义文件的第三方库,因此,不是pom.xml手动为第三方库创建文件并安装它,然后将依赖项添加到我的pom.xml,告诉Maven:“除了我定义的依赖项,还包括其中的所有jar/lib。” 看起来这应该很简单,但是如果是这样,我就缺少了一些东西。 任何有关如何执行此操作的指示都将受到赞赏。简而言之,如果有一种简单的方法将maven指向/lib目录并轻松创建一个pom.xml将所有封闭的jar映射到单个依赖项的方法,那么我就可以命名/安装并链接到一个依赖项,这也足够了。
700 java  maven-2 


6
Maven模块+构建单个特定模块
我有一个父项目多模块Maven项目P和三个子模块A,B和C。这两个B和C是战项目,都依赖于A。 我可以输入mvn compile在P和拥有所有的子模块正确的编译的。当我要对特定模块进行操作时,问题就来了。 我希望能够为项目打包战争B,但是当我从B的目录运行package命令时,它抱怨找不到的依赖项A。 我从这个问题中了解到:Maven和相关模块,也许Maven并不是真正为这种类型的依赖关系解析而设计的,但这引出了我应该如何打包的问题B? mvn package当我真的想要时,是否必须为整个项目层次结构运行B? 每次打包时都必须将A的快照安装到本地存储库中B吗? 当A仍在积极开发中时,第二种情况就不好玩了。 这里有最佳做法吗?

6
如何在Maven中配置编码?
当我maven install在多模块Maven项目上运行时,我总是得到以下输出: [WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent! 因此,我在Google上搜索了一下,但是我能找到的就是我必须添加: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> ...到我的pom.xml。但是它已经在那里(在父目录中pom.xml)。 配置<encoding>了Maven的资源-插件或Maven的编译器插件也不能解决问题。 所以有什么问题?

13
在Maven的jar中包含依赖项
有没有办法强制maven(2.0.9)将所有依赖项包含在单个jar文件中? 我有一个构建到单个jar文件中的项目。我希望将依赖项中的类也复制到jar中。 更新:我知道我不能只在jar文件中包含jar文件。我正在寻找一种方法来解压缩指定为依赖项的jar,并将类文件打包到jar中。
353 java  maven-2  jar  packaging 

22
在Maven存储库中找到Oracle JDBC驱动程序
我想将oracle jdbc驱动程序作为依赖项(运行时作用域)添加到我的项目中-ojdbc14。在MVNrepository站点中,放入POM的依赖项为: <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.3.0</version> </dependency> 当然这是行不通的,因为它不在maven使用的中央存储库中。2个问题: 如何找到包含该工件的存储库(如果有)? 如何添加它以便Maven使用它?
292 java  maven  jdbc  maven-2  mvn-repo 

5
Maven工件和groupId命名
我目前正在将一些项目从Ant移到Maven。像我一样,我想使用完善的约定来查找groupId和artifactId,但是我找不到任何详细的约定(有一些约定,但是它们没有涵盖我想知道的要点)。 以这个项目为例,首先是Java包: com.mycompany.teatimer Tea timer实际上是两个词,但是Java包命名约定禁止插入下划线或连字符,因此我将它们全部编写在一起。 我选择了groupId与软件包ID相同的名称,因为我认为这是个好主意。是吗? 最后,我必须选择一个artifactId,我目前参加了teatimer。但是当我查看其他Maven项目时,它们使用连字符将artifactIds中的单词拆分,如下所示:tea-timer。但是当连接到groupId:时看起来确实很奇怪com.mycompany.teatimer.tea-timer。 你会怎么做? 另一个例子: 包裹名字: com.mycompany.awesomeinhouseframework groupId:(com.mycompany.awesomeinhouseframework?) artifactId:(awesome-inhouse-framework?)

4
Maven父POM与模块POM
在多项目构建中,似乎有几种构造父pom的方式,我想知道是否有人对每种方式的优点/缺点有什么想法。 具有父pom的最简单方法是将其放在项目的根目录下,即 myproject/ myproject-core/ myproject-api/ myproject-app/ pom.xml 其中pom.xml既是父项目,又描述了-core -api和-app模块 下一个方法是将父级分离到其自己的子目录中,如下所示: myproject/ mypoject-parent/ pom.xml myproject-core/ myproject-api/ myproject-app/ 父pom仍包含模块但相对的模块,例如../myproject-core 最后,还有一个选项,其中模块定义和父级分开,如下所示 myproject/ mypoject-parent/ pom.xml myproject-core/ myproject-api/ myproject-app/ pom.xml 父pom包含任何“共享”配置(dependencyManagement,属性等),而myproject / pom.xml包含模块列表。 目的是要可扩展到大规模构建,因此应可扩展到大量项目和工件。 一些奖励问题: 在哪里定义各种共享配置的最佳位置是哪里,如源代码控制,部署目录,通用插件等。(我假设是父级,但我经常对此感到bit恼,它们最终出现在每个项目中,而不是最终出现在每个项目中一个普通的)。 maven-release插件,hudson和nexus如何处理您如何设置多项目(可能是一个巨大的问题,当有人通过多项目构建的方式来抓捕时,问题就更大了)? 编辑:每个子项目都有自己的pom.xml,我将其保留以保持简洁。






By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.