我有一个Maven项目,它在Jenkins中构建了6个独立的Maven项目。 我面临的问题是,在项目构建失败的时候会给出137错误代码: 错误:Maven JVM意外终止,退出代码为137 可以在控制台中使用相同的Maven目标成功构建项目,但在Jenkins中它失败了。 通过重新启动Jenkins,可以解决问题。 我有一些静态数组列表。 这些列表用于某些测试用例。 这可能是内存泄漏吗?
如果有一些checkstyle错误,是否有可能以某种方式迫使maven失败? 现在我必须运行site目标来生成javadocs和checkstyle报告。 我想在install目标上实现它,如果checkstyle有一些错误,我需要构建失败。 这有可能实现吗? 现在我在报告maven块中使用了checkstyle : org.apache.maven.plugins maven-checkstyle-plugin 2.9.1 src/test/resources/checkstyle.xml
我正在使用MyEclipse开发一个非常简单的Java Struts项目。 一切正常,直到我想在org.apache.commons.lang中使用StringUtils类。 在MyEclipse中我导入了类似的包 import org.apache.commons.lang.StringUtils; 我将commons-lang-2.4的Jar文件添加到我的构建路径中。 这一切都很好,花花公子,我得到了Intellisense,没有Eclipse或任何错误。 现在,当我去做一个mvn clean package ,我得到一个错误说 包org.apache.commons.lang不存在 我检查了我的war / Pom.xml文件,我确实将它声明为依赖项 org.apache.httpcomponents httpclient 4.0.1 commons-lang commons-lang 2.4 根据我的研究,我认为Maven应该下载软件包并将其安装到我的本地存储库(如果它不存在)。 我检查了存储库,jar文件就在那里。 我认为jar文件必须已损坏所以我删除了commons-lang文件夹以获得commons-lang的新下载。 现在这是我的想法,在我从本地存储库中删除它并运行mvn clean package ,它出去并下载commons-lang-2.1 .pom和jar(即使pom.xml有2.4) 但是仍然提供编译失败,说包org.apache.commons.lang不存在 。 我没有使用Maven很长时间,所以我不确定如何解决这个问题。 我错过了什么吗? 我是否需要在其他地方的另一个pom.xml文件中添加依赖项?
这可能是一个重复的问题,但我无法弄清楚绑定碰撞在哪里。 我有我的Spring Boot 1.2.6.RELEASE服务,当我运行它时我收到此错误: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/jscherman/.m2/repository/ch/qos/logback/logback-classic/1.1.3/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/jscherman/.m2/repository/org/slf4j/slf4j-log4j12/1.7.12/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] 这是mvn dependency:tree输出 [INFO] com.myenterprise:product-manager:jar:0.0.1-SNAPSHOT [INFO] +- com.myenterprise.product:myproject-api:jar:0.0.1-SNAPSHOT:compile [INFO] +- com.myenterprise.product:myproject-core:jar:0.0.1-SNAPSHOT:compile [INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.2.6.RELEASE:compile [INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.2.6.RELEASE:compile [INFO] | | +- […]
假设我有一个使用Maven 3和junit的Java项目。 有src/main/java和src/test/java目录,分别包含主要源和测试源(一切都是标准的)。 现在我想将项目迁移到Java 9. src/main/java内容代表Java 9模块; com/acme/project/module-info.java看起来大概是这样的: module com.acme.project { require module1; require module2; … } 如果测试代码需要自己的module-info.java怎么办? 例如,添加对某些模块的依赖性,该模块仅用于测试,而不是生产代码。 在这种情况下,我必须将module-info.java放到src/test/java/com/acme/project/给模块一个不同的名称。 这样Maven似乎将主要源和测试源视为不同的模块,因此我必须将包从主模块导出到测试模块,并且需要测试模块中的包,如下所示: 主模块(在src/main/java/com/acme/project ): module prod.module { exports com.acme.project to test.module; } 测试模块(在src/test/java/com/acme/project ): module test.module { requires junit; requires prod.module; } 这产生了 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:testCompile (default-testCompile) on project test-java9-modules-junit: Compilation failure: Compilation […]
我试图在IntelliJ上使用Lombok和Maven以及VRaptor,但它不起作用。 我已经在stackoverflow中读了一些信息,但没有解决我的问题,我已经在Intellij中启用了注释处理器,但仍然没有。 我也尝试从命令行编译它(Windows)并且无法正常工作。 我还尝试创建另一个没有maven的项目并添加库,创建一些用于测试的类,它可以正常工作,编译和运行。 有帮助吗? 该项目只有2个类,1个实体和1个控制器 这是我的pom.xml 4.0.0 razor controle-de-ponto 0.0.1 war Um sistema de controlo de ponto projectlombok.org http://projectlombok.org/mavenrepo ISO-8859-1 2.1.2.Final br.com.caelum vraptor 4.1.4 org.projectlombok lombok 0.11.6 provided org.jboss.weld.servlet weld-servlet-core 2.1.2.Final provided org.jboss.weld weld-core-impl 2.1.2.Final provided javax.el el-api 2.2 provided org.hibernate hibernate-validator-cdi 5.1.1.Final javax.inject javax.inject 1 provided javax.servlet jstl 1.2 provided org.apache.velocity velocity 1.7 […]
我们可以在Nexus中代理一些公共Maven存储库中是否有JRE 1.6? 如果没有,有人可以提供一个关于如何将JRE部署到Maven存储库的提示吗?
使用maven创建一个Hibernate测试项目。 当我运行项目时,它会生成exception: org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator initiateService WARN: HHH000181: No appropriate connection provider encountered, assuming application will be supplying connections org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when ‘hibernate.dialect’ not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:209) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843) at org.hibernate.hibernatetest.App.main(App.java:33) Exception in thread “main” java.lang.NullPointerException at org.hibernate.hibernatetest.App.main(App.java:51) 但是在主类中需要设置属性。不知道为什么程序是genrAatingexception。 主类: […]
如何管理用于测试的虚拟数据? 将它们与各自的实体保持一致? 在一个单独的测试项目中? 使用外部资源的Serializer加载它们? 或者只是在需要的地方重新创建它们? 我们有一个应用程序堆栈,其中包含多个模块,每个模块都包含实体 每个模块都有自己的测试,需要运行虚拟数据。 现在,具有大量依赖性的模块将需要来自其他模块的大量虚拟数据。 然而,这些不会发布它们的虚拟对象,因为它们是测试资源的一部分,因此所有模块都必须一次又一次地设置它们需要的所有虚拟对象。 另外:我们实体中的大多数字段都不可为空,因此即使针对对象层运行事务也要求它们包含一些值,大多数时候还有其他限制,如唯一性,长度等。 是否有最佳实践方法或所有解决方案都妥协? 更多详情 我们的堆栈看起来像这样: 一个模块: src/main/java –> gets jared (…/entities/*.java contains the entities) src/main/resources –> gets jared src/test/java –> contains dummy object setup, will NOT get jared src/test/resources –> not jared 我们使用Maven来处理依赖关系。 模块示例: 模块A有一些虚拟对象 模块B需要自己的对象,与模块A相同 选项a) 测试模块T可以容纳所有虚拟对象,并将它们提供给所有模块中的所有测试中的测试范围(因此加载的依赖关系不会受到影响)。 那会有用吗? 含义:如果我在A中加载T并在A上运行install,它是否包含由T引入的引用,尤其不是B ? 然而A会知道B的数据模型。 选项b) 模块A在src/main/java../entities/dummy某处提供虚拟对象,允许B获取它们,而A不知道B的虚拟数据 选项c) 每个模块都包含外部资源,它们是序列化的虚拟对象。 它们可以由需要它们的测试环境反序列化,因为它依赖于它们所属的模块。 […]
我正在尝试设置Dynamic Web Module 3.0以支持Java 6开发。 每当我做Maven > Update Project时,我在Eclipse的Problems选项卡中都会收到此错误。 Dynamic Web Module 3.1 requires Java 1.7 or newer. 好像什么都没有出错,但我必须错过一些东西,因为我一直都会收到这个错误。 以下是我的.settings / org.eclipse.wst.common.project.facet.core.xml的内容 在eclipse中,我的Java编译器正确地设置为1.6。 在Project Facets选项卡中,Dynamic Web Module被正确指定为版本3.0,而Java在Project Facets下也显示为1.6。 在我的pom.xml文件中,我还相应地设置了Java版本: org.apache.maven.plugins maven-compiler-plugin 3.1 1.6 1.6 作为旁注,我还应该提到我正在使用WebApplicationInitializer进行纯Java构建,并且没有web.xml文件。 当我试图压制这个看似无关的错误消息时,非常感谢任何帮助。 编辑:添加了pom.xml内容 4.0.0 net.XXXXX XXXXX 1.0-SNAPSHOT XXXXX war http://maven.apache.org XXXXX org.apache.maven.plugins maven-compiler-plugin 3.1 1.6 1.6 org.apache.maven.plugins maven-war-plugin false junit junit […]