Tag: maven 2

排除单个依赖项的所有传递依赖项

在Maven2中,为了排除单个的传递依赖,我必须这样做: <dependency> <groupId>sample.group</groupId> <artifactId>sample-artifactB</artifactId> <version>1</version> <exclusions> <exclusion> <groupId>sample.group</groupId> <artifactId>sample-artifactAB</artifactId> </exclusion> </exclusions> </dependency> 这种方法的问题是,我必须为sample-artifactB提供的每个传递依赖项执行此操作。 有没有办法使用某种通配符来一次排除所有传递的依赖关系,而不是一个接一个?

Maven:将自定义外部JAR链接到我的项目的最佳方式?

这是我第一次学习Maven的几天,而且我还在为基础而苦苦挣扎。 我有一个外部.jar文件(在公共仓库中不可用),我需要在我的项目中引用,我试图找出我最好的select是什么。 这是一个没有中央库的小型项目,所以它必须是一个本地存储库(以某种方式添加到源代码控制,不知道它是否应该这样工作?)或.jar需要存储任何正式的仓库之外的磁盘。 1)我最好的select是使用maven添加.jar文件到我的项目引用中,因为我希望项目和库都在源代码控制中。 2)我似乎还没有看到Eclipse的依赖。 我手动将其添加到POM的部分,它显示在m2eclipse的依赖项列表中显示良好。 mvn编译和mvn包都成功了,但运行程序的结果是: Exception in thread "main" java.lang.Error: Unresolved compilation problems: LibraryStuff cannot be resolved to a type 这是在编辑POM后: <dependency> <groupId>stuff</groupId> <artifactId>library</artifactId> <version>1.0</version> <systemPath>${lib.location}/MyLibrary.jar</systemPath> <scope>system</scope> </dependency> 我应该执行mvn install:install-file,甚至认为我已经有了像上面那样编辑的pom.xml文件了吗? 谢谢!

警告 – 构buildpath指定执行环境J2SE-1.4

我在Eclipse Helios中创build了一个Maven项目。 它工作得很好,但是这个警告显示出来了: 构buildpath指定执行环境J2SE-1.4。 工作区中没有安装与此环境严格兼容的JRE。 由于这个消息,项目停止了编译和debugging。 有没有人有这个问题的解决scheme?

控制jar工件的maven最终名称

我试图在我们的超级POM中定义一个属性,这个属性将被所有子项目用作生成的工件的目的地。 为此,我正在考虑使用project / build / finalName,但这似乎并不奏效,即使对于简单的poms: 命令 mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.mycompany.app -DartifactId=my-app POM maxim@maxim-desktop:/tmp/mvn_test$ cat my-app/pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>my-app</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <finalName>${project.name}-testing</finalName> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project> maxim@maxim-desktop:/tmp/mvn_test/my-app$ mvn install [INFO] Scanning for projects… [INFO] ———————————————————————— [INFO] Building my-app […]

Maven 2程序集与依赖关系:范围内的“系统”jar不包括在内

我正在使用maven-assembly插件来创build我的应用程序的jar,包括它的依赖关系如下: <assembly> <id>macosx</id> <formats> <format>tar.gz</format> <format>dir</format> </formats> <dependencySets> <dependencySet> <includes> <include>*:jar</include> </includes> <outputDirectory>lib</outputDirectory> </dependencySet> </dependencySets> </assembly> (我省略了一些与问题无关的其他内容) 到目前为止,这工作正常,因为它创build一个lib目录与所有的依赖。 但是,我最近添加了一个新的依赖项,其范围是system ,它不会将其复制到lib输出目录。 我必须在这里失去基本的东西,所以我呼吁帮助。 我刚添加的依赖关系是: <dependency> <groupId>sourceforge.jchart2d</groupId> <artifactId>jchart2d</artifactId> <version>3.1.0</version> <scope>system</scope> <systemPath>${project.basedir}/external/jchart2d-3.1.0.jar</systemPath> </dependency> 我能够包括这种依赖的唯一方法是将以下内容添加到汇编元素: <files> <file> <source>external/jchart2d-3.1.0.jar</source> <outputDirectory>lib</outputDirectory> </file> </files> 但是,这迫使我改变POM和程序集文件,每当这个jar子被重命名,如果有的话。 另外,这似乎是错的。 我已经试过在dependencySets和<include>sourceforge.jchart2d:jchart2d</include>使用<scope>runtime</scope> ,但没有运气。 那么如何在maven 2中将一个system范围的jar包含到你的程序集文件? 非常感谢

Maven模块+构build一个特定的模块

我有一个包含父项目P和三个子模块A , B和C的多模块Maven项目。 B和C都是战争项目,都依赖于A 我可以在P键入mvn compile ,并正确编译所有的子模块。 当我想要为特定模块执行操作时,问题就出现了。 我想能够打包一个项目B的战争,但是当我从B的目录运行包命令,它抱怨说,它找不到A的依赖关系。 我从这个问题中了解到: Maven和依赖模块 ,也许Maven并不是真正为这种types的依赖解决而devise的,但是这引出了如何打包B ? 当我真的想要B时,是否必须为整个项目层次结构运行mvn package ? 每次我想打包B时,是否必须将A的快照安装到本地存储库中? 当A还处于积极的发展阶段时,第二种情况并不是很有趣。 这里有什么最佳实践?

使用Maven复制文件的最佳做法

我使用Maven2将configuration文件和各种文档从开发环境复制到dev-server目录。 奇怪的是,Maven在这个任务上似乎并不强大。 一些选项: 在Maven中简单使用复制任务 <copy file="src/main/resources/config.properties" tofile="${project.server.config}/config.properties"/> 使用Ant插件从Ant执行复制 。 构造一个types为zip的工件,以及通常是jartypes的POM的“main”工件,然后将该工件从资源库解压到目标目录中。 maven-resources插件,如下所述。 Maven Assembly插件 – 但是这似乎需要大量的手动定义,当我想简单地和“常规”地做事时。 这个页面甚至展示了如何构build一个插件来复制! maven-upload插件,如下所述。 maven-dependency-plugin与副本 ,如下所述。 所有这些似乎是不必要的特别的:Maven应该擅长做这些标准的任务,没有大惊小怪。 任何build议?

依赖pipe理和maven中的依赖关系之间的差异

dependencyManagement和dependencies什么区别? 我在Apache Maven网站上看到了这个文档。 看起来,在dependencyManagement下定义的dependencyManagement可以用在它的子模块中,而不需要指定版本。 例如: 父项目(Pro-par)在dependencyManagement下定义一个依赖dependencyManagement : <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8</version> </dependency> </dependencies> </dependencyManagement> 然后在亲的孩子,我可以使用junit: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies> 但是,我想知道是否有必要在父pom中定义junit? 为什么不直接在需要的模块中定义?

在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个问题: 如何find包含此工件的存储库(如果有)? 我如何添加它,以便Maven将使用它?

用Maven在jar中包含依赖项

有没有办法强制maven(2.0.9)将所有的依赖包括在一个jar文件中? 我有一个项目构build到一个单一的jar文件。 我想从依赖的类也复制到jar中。 更新:我知道我不能在一个jar文件中包含一个jar文件。 我正在寻找一种方法来解压指定为依赖的jar包,并将类文件打包到jar中。