Tag: maven 3

如何使maven build添加资源到classpath?

我正在用简单的Maven安装使用maven构build一个jar。 如果我将一个文件添加到src/main/resources它可以在类path中find,但它有一个configuration文件夹,我希望该文件去,但将其移动到configuration文件夹内,使其从类path中消失。

开发Maven 3.0插件

我为Maven 2开发了一些Maven插件,但是我想知道当我想为Maven 3.0开发一个插件(或迁移现有的插件)时,主要的变化是什么。 Maven网站上的文档不是最新的( 真是一个惊喜! ),所有相关的网页仍然处理Maven 2.0,就像这样: 本指南旨在帮助用户开发Maven 2.0的Java插件。 作为一个例子,在Maven 2插件中,我定义了一个像这样的configuration参数: /** * Some parameter. * * @parameter * @required */ private String foo; 所以,现在,使用新的Maven插件API,我期望真正的 Java注释… 问题:我在哪里可以find关于Maven 3插件开发的文档/信息?

无法从资源目录加载属性文件

我从Git仓库导入了一个项目,并在Eclipse中添加了Maven特性。 在资源文件夹中,我添加了一个名为myconf.properties的configuration文件。 现在,每当我尝试从我的Java代码打开这个文件,我得到FileNotFoundException 。 该文件也出现在maven编译项目之后生成的target/classes文件夹中。 谁能告诉我可能是什么问题? 我试图加载这个文件的Java代码是: props.load(new FileInputStream("myconf.properties")); 其中props是一个Properties对象。 任何人都可以给我一些关于如何解决这个问题的提示?

MAVEN_HOME,MVN_HOME或M2_HOME

什么是正确的Maven环境variables名称: MAVEN_HOME , MVN_HOME还是M2_HOME ? 我在这里find了关于MAVEN_HOME和M2_HOME一些细节。 但是我也看到了MVN_HOME 。

Maven Cobertura插件不会生成coverage.xml

我试图生成一个coverage.xml,以便我可以在Hudson的Cobertura插件中引用它,但该文件没有被创build。 我已经将以下内容添加到我的POM中 <reporting> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.5.1</version> <configuration> <formats> <format>html</format> <format>xml</format> </formats> </configuration> </plugin> </plugins> </reporting> 在运行mvn cobertura:cobertura之后,HTML网站按照预期在** \ target \ site \ cobertura生成,但coverage.xml无处可查。 我错过了什么/误会? 我正在运行Maven 3.0.3

IncompatibleClassChangeError:class ClassMetadataReadingVisitor将接口ClassVisitor作为超类

我使用spring-mvc和mongodb作为数据库构build了一个Web应用程序。 我用maven3来构build应用程序。 项目build立成功,但是当应用程序启动时,我收到日志中的以下错误,因为我的应用程序无法启动。 这曾经在几个月前工作。 引起:java.lang.IncompatibleClassChangeError:类org.springframework.core.type.classreading.ClassMetadataReadingVisitor具有接口org.springframework.asm.ClassVisitor作为超类 请让我知道,如果任何指针或如果你们需要更多的信息。

如果未在maven中设置资源过滤的环境variables,如何使用默认值?

我正在使用资源过滤来replace属性文件中的$ {values}。 例如该文件包含PROPERTY = $ {VALUE} 我希望$ {VALUE}被replace为环境variables$ VALUE,如果运行构build时设置了$ VALUE,那么效果很好。 真棒。 然而,这些环境只能在我们的官方构build环境(由Jenkins设置)中设置,而不是在开发人员构build中,所以$ {values}在过滤之后会保留在属性文件中,这会破坏内容。 我宁愿不要在开发人员环境中使用env vars,因为这总会导致易碎的开发版本和whiny开发人员。 如果env var没有设置,我如何使用环境variables值,如果它设置并使用另一个默认的属性值? 从我的testing中可以看出,默认情况下,pom中设置的属性会覆盖环境variables以达到资源过滤的目的。 谢谢

自动项目版本在连续交付时的Maven方式是什么?

我有一个Web应用程序,当某个function准备就绪时,我们可以将其部署到生产环境中,有时可能是一天几次,有时也可能是几个星期之间发布。 目前,我们并没有为我们的项目增加版本号,一切都已经在0.0.1-SNAPSHOT一年多了。 我想知道什么是做一个networking应用程序连续交付的Maven方式。 在每次提交时碰到版本号似乎过火,而且从未像现在这样冲突版本号似乎也是错误的。 这种types的Maven使用推荐的最佳做法是什么? 问题实际上是双重的: 推进个人pom.xml文件中的项目版本号(可以有很多)。 更新所有相关组件中的版本号以使用最新的相关组件。

正确的方式来声明多个范围的Maven依赖?

例如,我有一个依赖关系,我想在test范围中使用(以便它在类path中,当我运行unit testing时)以及runtime范围内(这样我可以在WAR / EAR / other包装中包含部署,但不影响从属工件的传递依赖查找)。 一个真实的例子是SLF4J的实现JAR(例如Logback),当我运行testing时,我希望它存在于classpath中,我希望它被包含在我的WAR / EAR中,但是我不希望项目依赖于我的项目将其包含在传递依赖关系查找中。 我试图使用<scope>test,runtime</scope>但在Maven 3中,它警告我 [WARNING] 'dependencies.dependency.scope' for org.slf4j:jcl-over-slf4j:jar must be one of [provided, compile, runtime, test, system] but is 'test,runtime'. 在这种情况下声明依赖范围的正确方法是什么? 谢谢

如何在Eclipse中制作战争文件

什么是制作战争档案的简单方法? 我的项目工作时,我右键单击运行在服务器上,但我想部署在tomcat服务器上。 我已经安装了m2clipse但它给了我一个错误。 maven强制制作战争档案? 我是否需要特殊的目录结构与eclipse进行战争? 未能执行目标org.apache.maven.plugins:maven-war-plugin:2.1.1:war(default-war)on project testing2:组装WAR时出现错误:需要webxml属性(或者预先存在的WEB-INF / web如果在更新模式下执行.xml) – > [帮助1] [错误]