Tag: maven

如何在maven中构建模块时构建依赖项目

当子项目由maven构建时,如何构建依赖项目。 举个例子,我有2个项目叫A,B。 项目B取决于项目A.我想在使用maven构建项目B时构建项目A. 我该怎么办?

使用已安装的spark和maven将Spark Scala Program编译为jar文件

仍然试图熟悉maven并将我的源代码编译成jar文件以进行spark-submit。 我知道如何使用IntelliJ,但想了解这实际上是如何工作的。 我有一个EC2服务器,已经安装了所有最新的软件,如spark和scala,并且有我想用maven编译的示例SparkPi.scala源代码。 我的愚蠢问题首先是,我可以使用我安装的软件来构建代码,而不是从maven存储库中检索依赖项,如何从基本的pom.xml模板开始添加适当的需求。 我不完全理解maven正在做什么,我怎么才能测试我的源代码的编译? 据我了解,我只需要有标准的目录结构src/main/scala然后想运行mvn package 。 此外,我想用maven而不是sbt进行测试。

如何在Qulice中禁用重复的依赖项检查?

我正在尝试使用Qulice代码质量控制工具。 在我的pom.xml我有以下定义: com.qulice qulice-maven-plugin 0.12.1 file:${basedir}/LICENSE.txt duplicatefinder:com.github.kodapan dependencies:com.github.kodapan check 当我运行qulice:check ,由于这些问题,构建失败: [WARNING] Found duplicate (but equal) classes in [com.github.kodapan:osm-common.core:v0.0.2,se.kodapan.osm.common:core:0.0.2-SNAPSHOT] : [WARNING] se.kodapan.lang.Intern [WARNING] se.kodapan.osm.domain.OsmObjectVisitor [WARNING] se.kodapan.osm.domain.root.AbstractRoot [WARNING] se.kodapan.osm.domain.root.Root 我怎样才能修改上面的exclude定义,以便尽管存在这些问题,构建仍能成功(现在,修复类路径是不可能的)?

SLF4J的多个绑定

我在spring boot应用程序中遇到以下错误: SLF4J:类路径包含多个SLF4J绑定。 SLF4J:在[jar:file:/opt/tomcat/webapps/ROOT/WEB-INF/lib/slf4j-simple-1.7.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]中发现绑定SLF4J:发现绑定在[jar:file:/opt/tomcat/webapps/ROOT/WEB-INF/lib/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:见http:// www .slf4j.org / codes.html#multiple_bindings的解释。 我去了链接,试图从我认为导入它的pom中删除slf4j-simple-1.7.13和logback-classic但它没有用。 org.apache.solr solr-solrj ${solrj.version} org.slf4j slf4j-api 和 org.apache.solr solr-solrj ${solrj.version} ch.qos.logback logback-classic Solr J版: 5.2.1 如何确定这是否是正确的违规模块? 有什么我做错了吗? pom文件使用我们自己创建的spring boot父级。 也许这就是需要排除的地方? 这是org.slf4j的依赖树: [INFO] [INFO] — maven-dependency-plugin:2.8:tree (default-cli) @ some-service — [INFO] com.company.io.some.service:some-service:war:1.0.0-SNAPSHOT [INFO] +- com.company.io.commons:commons-mongo:jar:1.0.0:compile [INFO] | \- com.company.io.commons:discovery-schema:jar:1.0.0:compile [INFO] | +- com.company.io.commons:commons-schema:jar:1.0.0:compile [INFO] | | \- […]

QueryDsl错误。 没有生成Q类

我尝试生成查询类型类(例如QUser )但是出错… 你可以在这里找到我的源代码: https : //github.com/TheNakedMan/remindme.server/ 我正在使用IntelliJ IDEA,似乎我有工作插件。 请帮帮我。 记录消息: /remindme.server/src/main/java/com/qoobico/remindme/server/repository/UserRepository.java错误:(21,126)java:找不到符号符号:class QUser 错误:(25,62)java:找不到符号符号:class QUser location:interface com.qoobico.remindme.server.repository.UserRepository 更新: 在LifeCycle->clean并在IntelliJ中运行apt:process后,我有这个错误: [错误]无法在项目com.qoobico.remindme.server上执行目标:无法解析项目com.qoobico.remindme.server的依赖项:com.qoobico.remindme.server:war:1.0-SNAPSHOT:找不到工件com .qoobico.remindme.server:com.qoobico.remindme.server:jar:1.0-SNAPSHOT

使用eclipse-plugin包将java插件转换为maven项目

我对java很有经验,但我第一次使用maven。 我已经安装了Eclipse Kepler(Eclipse for RCP和RAP Developers),我已经安装了Tychus以及“添加新软件”按钮。 我克隆并构建了一个称为OM2M 的物联网项目 。 我一步一步地按照安装维基进行操作,直到那时一切正常。 在这里克隆维基 我想开发自己的OSGI模块,所以我去了wiki的’developer’部分并再次创建了一个新的插件项目。 当我尝试将这个插件项目转换为maven项目( 链接到我正在谈论的步骤 )时,我不需要为我的pom wiki截图提供“eclipse-plugin”打包类型。 我在网上查了一下,显然它与需要配置的Tychus有关,我尝试在盒子里输入它但显然我在尝试构建时遇到问题,我尝试用我找到的东西编辑主要的pom.xml但它们都不起作用,我真的不知道该怎么做才能使它发挥作用。 你们有个主意吗? 谢谢 编辑:我忘了提到我读了这个post但是我不明白答案,我不知道在哪里放顶部答案所说的代码也不知道OSGI清单在哪里。 编辑2:当我手工输入eclipse-plugin时我得到的pom.xml:如果我手工编写eclipse-plugin,这是我的pom.xml: 4.0.0 org.eclipse.om2m org.eclipse.om2m.sample.ipu 0.0.1-SNAPSHOT eclipse-plugin 编辑3:我设法通过将主pom.xml设置为父级来删除错误,但现在当我尝试构建时,我有以下错误: [ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:0.20.0:validate-version (default-validate-version) on project org.eclipse.om2m.sample.ipu: Unqualified OSGi version 1.0.0.qualifier must match unqualified Maven version 0.0.1-SNAPSHOT for SNAPSHOT builds -> 我搜索了目标,但我不知道在哪里设置或编辑它们。 编辑4:感谢@Wim Anckaert我已经从pom.xml和清单中删除了.qualifier和.snapshot,现在它似乎正在运行! 非常感谢你们。

访问自定义maven报告插件中的类

我编写了一个自定义maven报告插件来输出有关spring-mvc类的一些基本信息。 在我的内部测试中,我可以看到这样的代码: public Set<Class> findControllerClasses(File buildOutputDir) throws IOException, ClassNotFoundException { Collection urls = ClasspathHelper.forJavaClassPath(); if (buildOutputDir != null) { urls.add(buildOutputDir.toURI().toURL()); } Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(urls)); Set<Class> types = reflections.getTypesAnnotatedWith(Controller.class); return types; } 拉入带注释的课程时效果很好。 但是,当我在另一个项目中使用报告插件时,不会选择带注释的类。 有人可以阐明如何访问已编译的类以进行报告吗? 或者这是否可能? 编辑:使用以下答案部分解决: 将maven-build-classpath添加到插件执行类路径 但是,如果它们在maven的runtimeClasspathElements var之外没有依赖项,那么它只加载类。 有没有办法将这些类合并到classrealm中?

Spring 3 + Tomcat 6:表单validationexception – java.lang.NoSuchMethodError:javax.el.E​​xpressionFactory.newInstance()Ljavax / el / ExpressionFactory;

我是Spring 3 MVC的新手,正在尝试使用Java validation API和Hibernate Validator实现JAR进行表单validation。 我正在使用Tomcat 6作为我的应用程序。 下面是pom.xml : 3.1.1.RELEASE 1.6 org.springframework spring-core ${spring.version} org.springframework spring-web ${spring.version} org.springframework spring-webmvc ${spring.version} cglib cglib 2.2.2 javax.servlet jstl 1.2 javax.servlet javax.servlet-api 3.0.1 junit junit 3.8.1 test javax.validation validation-api 1.1.0.Final org.hibernate hibernate-validator 5.0.1.Final 下面是模型类Employee.java : @Size(min=2,max=30) private String name; @NotEmpty @Email private String email; @NotNull @Min(18) @Max(35) private […]

HHH000302:无法构造当前会话上下文

我正面临着hibernate 4.3.5.Final和spring mvc 4.0.4.RELEASE与maven的错误。 有一些jar子将从maven reposterty取出,一些jar子直接包含jar子。 我不是关于spring和冬眠的版本请给我解决方案 ERROR: org.hibernate.internal.SessionFactoryImpl – HHH000302: Unable to construct current session context [org.springframework.orm.hibernate4.SpringSessionContext] java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.hibernate.internal.SessionFactoryImpl.buildCurrentSessionContext(SessionFactoryImpl.java:1513) at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:532) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928) at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:189) at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:350) at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:335) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) […]

在打包到jar后,Spring启动应用程序不提供静态资源

我有一个应用程序,通过ide或命令行启动时工作得很好:mvn spring-boot:run。 但是当我将它打包到jar中时,我无法访问静态资源(未找到404)。 我不想将静态文件存储在资源漏洞中,所以每次我需要更改静态文件时都不必重新加载服务器。 所以我在我的pom.xml中使用了这个插件: maven-resources-plugin 2.6 copy-resources validate copy-resources ${basedir}/target/classes/static src/main/webapp true 我可以看到文件正在两个目录“static”中复制。 这是我的资源处理程序配置: @Configuration @EnableWebMvc public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler(“/**”).addResourceLocations(“/”); } 控制器RequestMappings工作正常,问题只与静态资源有关。