Questions tagged «maven-2»

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


17
Maven-原型-Webapp日食问题
我正在尝试使用maven和eclipse创建一个非常简单的webapp,但是我一点也不开心,实际上是相反的。 我转到文件->新建项目,选择Maven项目,然后选择maven-archetype-webapp。完成向导后,将生成一个webapp结构,但在主目录下没有“ java”目录,只有资源和webapp下。 因此,我右键单击main并选择新的Class。该类是在资源(?!)下创建的,此外,java似乎没有对该类的编译。我可以犯一些愚蠢的错误,并且不会突出显示语法。就像Java无法识别它一样。 另外,我尝试在主目录下创建一个新的“ java”目录,但仍然具有相同的不存在的Java症状。 是什么赋予了?这让我发疯。 谢谢大家!

12
使用Eclipse / Maven构建Hadoop-缺少工件jdk.tools:jdk.tools:jar:1.6
我正在尝试在eclipse 3.81,m2e插件的maven项目中从cdh4 maven repo导入cloudera的org.apache.hadoop:hadoop-client:2.0.0-cdh4.0.0 ,使用在Win7上使用oracle jdk 1.7.0_05的Eclipse Maven项目 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.0.0-cdh4.0.0</version> </dependency> 但是,出现以下错误: The container 'Maven Dependencies' references non existing library 'C:\Users\MyUserId\.m2\repository\jdk\tools\jdk.tools\1.6\jdk.tools-1.6.jar' 更具体地说,maven指出缺少以下工件 Missing artifact jdk.tools:jdk.tools:jar:1.6 如何解决呢?

8
在Maven中进行调试?
是否可以从Maven启动调试器(如jdb)?我有一个pom.xml文件,可以成功编译该项目。但是,该程序挂在某个地方,我真的很想启动jdb或等效的调试器以查看发生了什么。 我编译使用mvn compile并使用启动: mvn exec:java -Dexec.mainClass="com.mycompany.app.App" 我期待的是这样的: mvn exec:jdb -Dexec.mainClass="com.mycompany.app.App" 来启动调试器,但是像往常一样,我的期望与maven的理念不一致。 另外,我找不到任何文档(在Maven的网站或google上)来描述调试的工作方式。我怀疑我必须使用一些插件。

2
如何在Maven中为依赖项指定存储库
在具有多个依赖项和存储库的项目中,Maven用于下载依赖项的“试错法”有点麻烦且缓慢,因此我想知道是否有任何方法可以为某些已声明的依赖项设置特定的存储库。 例如,我想让bouncycastle直接在http://repo2.maven.org/maven2/org/bouncycastle/上查看BouncyCastle的Maven存储库,而不是官方Maven。



13
查找多模块Maven反应器项目的根目录
我想使用maven-dependency-plugin将工件从我的多模块项目的所有子模块复制到相对于整个项目的根目录的目录。 也就是说,我的布局看起来与此类似,但名称已更改: to-deploy/ my-project/ module-a/ module-b/ more-modules-1/ module-c/ module-d/ more-modules-2/ module-e/ module-f/ ... 我希望将所有工件从其各自模块的目标目录复制到,my-project/../to-deploy以便最终 to-deploy/ module-a.jar module-b.jar module-c.jar module-d.jar module-e.jar module-f.jar my-project/ ... 我可以在每个模块中使用相对路径来完成此操作,如下所示: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>install</phase> <goals> <goal>copy</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <version>${project.version}</version> <type>jar</type> <outputDirectory>../../to-deploy</outputDirectory> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> 但是我宁愿不在<outputDirectory>元素中指定相对路径。我更喜欢这样的东西${reactor.root.directory}/../to-deploy,但是我找不到这样的东西。 另外,如果有某种方法可以继承此Maven-dependency-plugin配置,则我更愿意,这样我就不必为每个模块都指定它。 …

5
“失败的项目问题(Java版本不匹配)”错误消息
Eclipse的“问题”选项卡显示此错误: 说明:Java编译器级别与已安装的Java项目构面的版本不匹配。 资源:分组 路径:[空白] 位置:未知 类型:多面项目问题(Java版本不匹配) 我的pom.xml设置如下: <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> 其他设置可能不匹配?


5
在Maven的某些模块中跳过测试
我希望我的Maven构建可以运行大多数单元测试。但是,在一个项目中有一些单元测试比较慢,因此我希望将它们排除在外。并偶尔将它们打开。 问题:我该怎么做? 我知道-Dmaven.test.skip=true,但这会关闭所有单元测试。 我也知道跳的集成测试,描述在这里。但是我没有集成测试,只有单元测试,也没有对maven-surefire-plugin的任何明确调用。(我将Maven 2与Eclipse-Maven插件一起使用)。

5
如何使Maven使用正确的存储库?
我刚刚签出了一些项目并需要构建它们,但是我很早以前就安装了Maven(也许是6个月?),从那以后真的没有使用过-pom.xml我所拥有的项目没有这个“ http: //repo1.maven.org/myurlhere ”中的任何位置-它具有该url项目的Maven仓库的绝对位置,但是Maven仍在尝试从常规Maven仓库下载: Macintosh:trunk$ mvn clean install [INFO] Scanning for projects... Downloading: http://repo1.maven.org/url/project/project/x.x/project-x.x.pom [INFO] Unable to find resource 'url.project:project:pom:x.x' in repository central (http://repo1.maven.org/) [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to resolve artifact. GroupId: url.project ArtifactId: project Version: x.x Reason: Unable to download the artifact from any …


16
如何在Maven中配置JPA以进行测试
有没有一种方法可以在Maven项目中设置第二个persistence.xml文件,以使其用于测试,而不是用于部署的常规文件? 我尝试将persistence.xml放入src / test / resources / META-INF中,该副本被复制到target / test-classes / META-INF中,但似乎是target / classes / META-INF(来自src / main的副本/ resources)成为首选,尽管mvn -X test以正确的顺序列出了类路径条目: [DEBUG] Test Classpath : [DEBUG] /home/uqpbecke/dev/NetBeansProjects/UserManager/target/test-classes [DEBUG] /home/uqpbecke/dev/NetBeansProjects/UserManager/target/classes [DEBUG] /home/uqpbecke/.m2/repository/junit/junit/4.5/junit-4.5.jar ... 我希望能够针对简单的hsqldb配置运行测试,而不必更改JPA配置的部署版本,理想情况下,在项目检出后立即进行,而无需进行任何本地调整。

4
与Maven进行集成测试的最佳实践?
我有一个正在使用Maven构建的项目,该项目使用Hibernate(和Spring)从数据库中检索数据,等等。 我对项目中DAO的“测试”扩展了Spring的功能,AbstractTransactionalDataSourceSpringContextTests以便可以将DataSource连线到我的被测类中,从而能够实际运行查询/休眠逻辑,获取数据等。 在其他几个项目中,我将这些类型的测试与HSQL数据库(内存中或指向文件的)配合使用,从而能够有效地测试实际的数据库查询逻辑,而无需依赖外部数据库。这很好用,因为它避免了任何外部依赖关系,并且在运行测试之前将数据库的“状态”(每个状态都包装在回滚的事务中)进行了很好的定义。 不过,我对组织这些测试的最佳方法感到好奇,这实际上是使用Maven进行的集成测试的一种松散风格。保留这些测试有点脏src/test/java,但是据我所读,似乎没有一致的策略或实践来组织与Maven的集成测试。 从到目前为止的内容来看,似乎可以使用Failsafe插件(或Surefire的第二个实例)并将其绑定到integration-test阶段,并且还可以绑定自定义启动或关闭逻辑(例如用于启动/停止HSQL实例)到pre-integration-test或post-integration-test。但是,这真的是最好的方法吗? 所以我的问题基本上是-与Maven一起组织此活动的公认最佳实践是什么?我在文档中找不到任何一致的答案时遇到麻烦。 我想要的是: 将单元测试与集成测试分开,因此在此test阶段仅运行单元测试 可以将自定义启动/关闭逻辑绑定到pre-integration-test和post-integration-test 将来自集成测试的报告与单元测试Surefire报告合并/提交

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.