maven shade插件正在创build一个名为dependency-reduced-pom.xml的文件,还有一个artifactname-shaded.jar文件 ,并将它们放在基本目录中。 这是一个错误? 应该在目标目录中。 任何解决方法?
我正在尝试在Eclipse中使用Java 8(和Wildfly appServer)构buildDynamic Web Application ,但是我无法使Eclipse Luna M5使用Java 8(我已经安装了Java 8 BETA支持,它可以在JavaSE上使用项目)。 在我的POM中,我将其设置为Java 8: <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> 但是我做了maven -> update project我得到以下错误: Could not update project ExampleApp configuration Version 1.8 of project facet java does not exist. 事实上,在project->preferences->project facets->java下没有java 1.8的项目方面 我可以手动创build这样的facet ,并将其添加到日食,或者我将不得不等待,直到Java 8发布和日食家伙决定添加它?
如何从其GitHub仓库(该仓库使用Maven作为构build系统)将Java库添加为我的Maven项目的依赖项? 我可以做到这一点,而无需下载和编译图书馆?
我主要使用Java编写代码,并将Maven用于我的所有项目。 我非常喜欢使用Maven,因为它很容易下载源代码和文档,更重要的是,我不需要将外部库的副本保存在我的项目源代码文件夹下。 我已经开始开发一个Android应用程序,我发现Eclipse的Android插件非常好。 但是,所有提供的示例都不是maven项目,所以我不知道如果使用maven,我还是会获得Android插件的所有function,或者使用Maven是否有任何缺点。 所以问题是: Android插件的Eclipse的所有function仍然工作? 是否会比使用正常的构build更困难(我相信这是ant,但不是确定的) 任何其他的缺点,例如最终应用程序的文件大小(Maven往往把许多东西捆绑在一起),或者在Maven仓库(这可能与Android不同)上获取最新的库的困难。 请不要指向这个Android项目的Maven支持? 我想从开发人员的经验回答。 我已经知道可以使用maven的Android应用程序。 我需要知道的是我是否应该使用它。
我开始configuration我的开发环境,并且使用了Spring Tool Suite 2.8.1以及m2E 1.01。 据我所知,因为这是一个Maven项目(我的第一个),我的Maven POM是口授(与M2E智慧一起)我的项目构buildconfiguration和依赖关系。 我想知道的是为什么我的IDE显示Java Build Problems,当我看到我的.m2中的jar子时,读取“Library library / path / somejar.jar不能读取或不是有效的zip文件”库? 所有的错误都与commons-logging有关:1.1.1我在我的父类中被排除了。 这是一个通过spring-context支持的跨实体依赖:3.0.5。 我从我的构build中排除了这个库,现在错误与spring-context-support库有关。 我附上了一个截图来说明。 非常感谢
假设我有四个项目: 项目A(依赖于B和D) B项目(依赖于D) 项目C(依赖于D) D项目 在这种情况下,如果我运行项目A,Maven将正确地解决依赖关系到D.如果我正确地理解这个Maven总是以最短的path依赖。 由于D是A的直接依赖关系,因此将使用B中指定的D。 但现在假设这个结构: 项目A(依赖于B和C) B项目(依赖于D) 项目C(依赖于D) D项目 在这种情况下,parsingD的path具有相同的深度。 发生什么事是Maven会有冲突。 我知道有可能告诉Maven他应该排除依赖关系。 但是我的问题是如何解决这样的问题。 我的意思是在现实世界的应用程序中,你有很多的依赖,可能还有很多冲突。 最佳实践解决scheme是真的排除东西还是有其他可能的解决scheme吗? 我发现很难处理,当我突然得到一个ClassNotFoundexception,因为一些版本已经改变,这导致Maven采取differend依赖。 因为知道这个事实使得猜测问题是一个依赖性冲突有点容易。 我正在使用maven 2.1-SNAPSHOT。
在尝试编译Vaadin WAR时遇到这个错误: Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project testvaadin-web: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1] 我知道这个错误意味着maven找不到我的web.xml,但在“Vaadin之书”中说,在你的UI类中使用Servlet API 3.0和Annotation @WebServlet , 不需要web.xml 。 我正在编译我的widgetset在一个单独的configuration文件(根据本指南),它编译罚款时,我rnu这个configuration文件。 但是,当我只编译web项目时,我得到上面提到的错误。 是什么赋予了? 我以某种方式重写了maven的行为吗? Vaadin甚至没有创build一个WEB-INF目录。 我想我可以创buildWEB-INF文件夹,并在那里保留一个“鬼”web.xml,以保持maven快乐,但这似乎不正确。 我错过了什么吗? 有谁知道这个好的解决scheme?
从Surefire 2.6升级到Surefire 2.13时,在运行我的unit testing时,我得到一个TypeNotPresentExceptionProxy 。 java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653) at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460) at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286) at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222) at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070) at java.lang.Class.getAnnotation(Class.java:3029) at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.isValidJUnit4Test(JUnit4TestChecker.java:64) 在JUnit4TestChecker ,第64行看起来像这样: Annotation runWithAnnotation = testClass.getAnnotation( runWith ); 所以Surefire会检查@RunWith注解来确保它的types是有效的。 我们的testing使用Spring,因此@RunWith在我们的testing类中看起来像这样: @RunWith(SpringJUnit4ClassRunner.class) 似乎Surefire没有findSpringJUnit4ClassRunner类。 我不确定为什么在Surefire 2.6下,testing运行良好。 有任何想法吗?
概要 我的JUnittesting没有在执行过程中find他们需要的文件。 我正在使用Maven进行依赖pipe理和编译。 细节 testing用例所需的所有文件位于: src/test/resources 。 例如, src/test/resources/resourceFile.txt 。 要访问资源我使用下面的代码: URL url = getClass().getResource("/resourceFile.txt").getFile(); File file = new File(url); 但是,然后file.exists()返回false 。 而我得到的错误是: Tests in error: myJUnitTestCase(tests.MyJUnitTestClass): /home/me/workspace/Project%20Name/target/test-classes/resourceFile.txt (No such file or directory) 请注意,以下给出了相同的错误(注意删除/前缀): URL url = getClass().getClassLoader().getResource("resourceFile.txt").getFile(); File file = new File(url); 似乎来自src/test/resources的文件没有被复制到target/test-classes 。 有任何想法吗? 以下问题没有帮助 为什么我无法在Maven中使用Junittesting来访问src / test / resources? 在JUnit @BeforeClass中加载属性文件 如何处理Junit中的testing数据? […]
我们有一个工作stream程需求,这基本上意味着我们需要在git中从当前分支外部定义一个模块的工件版本。 也就是说,如果我们在git的master分支,我需要<version>master-…</version> ,如果我们在bugfixX分支,我需要<version>bugfixX-….</version>为这个pom.xml生成的工件。 我以前发现https://github.com/koraktor/mavanagaiata可以提供SHA-1哈希作为一个属性,它从文档中可以看出,它也可以提供分支,所以也许如果它可以足够早的运行我们可以设置该属性的过程,只需把<version>${our.version}</version>放在pom中即可。 如果可能的话,我非常希望看到一个有效的pom.xml文件(并奖励500点奖励)。 如果没有,我想我们是进入预处理或“混帐检查”做一些额外的魔术钩(我还没有尝试过,工作代码将会很好)。 我们有一个顶级的pom,可以在构build这个function的模块之前生成一个“..”的属性文件。 有关如何解决这个问题的任何build议?