Eclipse的“问题”选项卡显示此错误: 说明:Java编译器级别与已安装的Java项目构面的版本不匹配。 资源:分组 path:[空白] 位置:未知 types:分面项目问题(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> 还有什么地方可以使这些设置不匹配?
我正在尝试构build一个我修改过的Hudson插件,它需要jdk1.6。 这很好,但是我不知道如何告诉maven不同的jdk。 我在互联网上发现了一些提及,但他们似乎并不适用于我。 有人build议添加一些configuration到.m2/settings.xml但我没有一个settings.xml 。 另外,我不想在所有的Maven构build中使用1.6。 一个奇怪的是我在cygwin使用mvn ,如果这很重要的话。 看来我应该能够在项目文件中做出规范,但现有的POM是相当裸露的。 所以底线是,有没有办法指定一个单一的调用Maven的jdk?
我使用maven来构build一个多模块项目。 我的模块2依赖于模块1 src在编译范围和模块1testing在testing范围。 第2单元 – <dependency> <groupId>blah</groupId> <artifactId>MODULE1</artifactId> <version>blah</version> <classifier>tests</classifier> <scope>test</scope> </dependency> 这工作正常。 说我的模块3取决于Module1 src并在编译时testing。 第3单元 – <dependency> <groupId>blah</groupId> <artifactId>MODULE1</artifactId> <version>blah</version> <classifier>tests</classifier> <scope>compile</scope> </dependency> 当我运行mvn clean install ,我的构build运行到模块3,在模块3失败,因为它无法解决模块1testing依赖性。 然后,我单独在模块3上进行mvn install ,返回并在我的父pom上运行mvn install以使其生成。 我该如何解决这个问题?
以前我发过一个关于如何从命令行改变Maven项目的问题,这引起了我一个新的问题。 以前我能够得到版本号,因为版本存储为一个易于从命令行(bash)进行grep和parsing的属性。 现在,pom.xml元素用于此,它不再是唯一的,因为所有的依赖关系,也许其他人也使用这个。 我认为没有办法获得当前的版本号与bash脚本没有外部工具来parsingxml或一些非常上下文感知sed命令。 我的意见中最干净的解决scheme是Maven发布此版本信息。 我正在考虑写一个自定义的maven插件来检索不同的属性,但我想我会先问在这里。 那么,有没有简单的方法将${project.version}的值${project.version}命令行? 提前致谢。 解 感谢您的帮助。 我不得不手动cd到目录,但可以很容易地完成。 在我的bash脚本中 version=`cd $project_loc && mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | sed -n -e '/^\[.*\]/ !{ /^[0-9]/ { p; q } }'` 这给了我当前的版本,然后我可以推进。 剔除可能是简单的,但我想我想尽可能健壮,所以我对以数字开头的第一行感到满意,并尝试将其作为版本号处理。 # Advances the last number of the given version string by one. function advance_version () { local v=$1 # Get the last number. […]
我们有一个用maven来解决依赖的项目。 它通常工作正常,但现在我正试图编译和运行在一台新的PC上,我有在Eclipse中缺less依赖关系的问题。 有趣的是,如果我在控制台或eclipse中运行“mvn package”,它可以正常工作,甚至会产生包含所有必需的jar的战争。 只有Eclipse抱怨“该项目没有构build,因为它的构buildpath不完整,无法findorg.slf4j.Logger的类文件…”。 如果我将项目与其他计算机(项目工作正常)进行比较,我注意到Eclipse中列出的“Maven依赖关系”下有不less库。 尽pipe他们在打包的战争中,他们也可以在存储库文件夹下find。 所以,jar-s就在那里,Eclipse将不会在“Maven dependencies”下列出它们。 我能做什么? 电脑运行在64位Java和Eclipse的Windows 7上。
我对Maven的口头禅相对来说比较陌生,但是我正在尝试用Maven构build一个命令行可运行的jar。 我已经设置了我的依赖关系,但是当我运行mvn install并尝试运行jar时,发生了两件事情。 首先,找不到主类,这是可以纠正的。 当我纠正这个,我得到运行错误,说明类无法find。 Maven不会将我的依赖库封装在jar中,所以我无法将jar作为独立的应用程序运行。 我该如何纠正?
我如何把一个我有的jar文件,并将其添加到maven 2中的依赖系统? 我将成为这个依赖的维护者,我的代码需要在类path中使用这个jar,以便编译。
我有一个Java程序与Mavenpipe理其依赖关系。 其中一个依赖是另一个程序的JNI包装。 Maven负责对相关JAR文件的引用,但是我自己把这个DLL文件搞乱了。 有一个让Maven处理DLL的好方法吗? 理想情况下,我想将DLL加载到我们的本地存储库,如JAR文件。
我一直在阅读关于Maven反应堆的内容,并对其术语用法感到困惑。 我已经阅读了一个多模块是一个反应堆,你可以操纵Maven反应堆,而反应堆是一个插件。 什么是反应堆?
例: </plugin> <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> <version>0.7.1</version> <executions> <execution> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <schemaDirectory>src/main/resources/dir1</schemaDirectory> <schemaIncludes> <include>schema1.xsd</include> </schemaIncludes> <generatePackage>schema1.package</generatePackage> </configuration> </plugin> <plugin> <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> <version>0.7.1</version> <executions> <execution> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <schemaDirectory>src/main/resources/dir2</schemaDirectory> <schemaIncludes> <include>schema2.xsd</include> </schemaIncludes> <generatePackage>schema2.package</generatePackage> </configuration> </plugin> </plugins> 发生了什么事情:Maven执行第一个插件。 然后删除目标文件夹并创build第二个包,然后可见。 我试着为第一个configuration设置target / somedir1,为第二个configuration设置target / somedir2。 但行为不会改变? 有任何想法吗? 我不想直接在src / main / java文件夹中生成包,因为这些包是生成的,不应该与手动创build的类混合使用。