Tag: maven

在创建jar时使用maven pom:test-jar有时会说JAR将为空 – 没有内容被标记为包含

虽然通过jar:test-jar创建带有测试类的jar:test-jar但它有时会说: JAR将为空 – 没有内容标记为包含! Test-jar不包含任何测试类。 但有时候,所有测试类都会创建正确的测试jar。 在我的pom中我需要提到的是在没有测试类的情况下运行测试模块jar(仅编译) 关于maven pom需要什么maven命令

有没有办法禁用本地maven存储库?

这可能听起来很疯狂但我们的开发人员都在同一台Linux机器上工作,这台机器也安装了nexus作为我们的maven repo。 实际上,每个人都会在〜/ .m2 /文件夹中找到人工制品,这些文件也会在nexus服务器中重复出现。 是否可以简单地告诉maven只看看nexus中的人工制品? 我/path/to/global/repo在我们的全局maven配置中设置了属性/path/to/global/repo ,但如果两个用户同时抓取同一个文件,则不确定这是否会导致问题。 我们之所以这样做是因为公司不会向我们购买function强大的工作站,所以我们都可以使用我们的开发服务器。

如何在Maven多模块Spring Web应用程序中自动挂载类?

我正在开发包含Maven多模块项目的应用程序。 当从另一个模块尝试@Autowire服务类时,我得到java.lang.NoClassDefFoundError:这个项目的独特之处在于两个Web模块之间的依赖关系。 家长项目 的pom.xml com.test.simple-project simple-parent pom module-x module-y org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.5 1.5 模块X. 的pom.xml module-x ${project.groupId} simple-parent war … maven-eclipse-plugin 2.9 org.springframework.ide.eclipse.core.springnature org.springframework.ide.eclipse.core.springbuilder true true org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.6 1.6 -Xlint:all true true org.codehaus.mojo exec-maven-plugin 1.2.1 org.test.int1.Main package com.test.module-x.service; @Service(“userService”) public class UserServiceImpl implements UserService { } 模块Y. 的pom.xml module-y ${project.groupId} simple-parent ${project.version} […]

我如何将spring mvc应用程序打包到jar?

我有一个使用maven和spring mvc和tomcat7-maven-plugin构建的应用程序。 我可以将这些打包到jar文件中,以便我可以运行jar文件来启动tomcat服务器吗? 这意味着我不需要tomcat,只有jar文件可以提供web服务。

Eclipse在启动配置中使用错误的maven依赖项

我正在开发一个项目,使用Maven进行依赖/构建/任何事情(项目生命周期管理或某事),我正在使用Eclipse进行开发和测试。 该项目使用Vert.x(最新),我正在尝试使用Hazelcast进行一些集群管理,但我遇到了一个错误,其中的Hazelcast版本Vert.x声明为依赖(3.6.3),解决方案显然是升级到更新版本。 我已经在我的pom.xml添加了更新的Hazelcast依赖项: com.hazelcast hazelcast [3.7,) 并且maven确实更新了依赖项(实际上Eclipse一旦我保存pom.xml文件就称为maven更新 – 非常整洁),所以我得到了依赖树: $ mvn dependency:tree [INFO] Scanning for projects… [INFO] [INFO] ———————————————————————— [INFO] Building project 3.8.4 [INFO] ———————————————————————— [WARNING] The POM for jfree:jfreechart:jar:1.0.8 is missing, no dependency information available [INFO] [INFO] — maven-dependency-plugin:2.8:tree (default-cli) @ project — [INFO] my.group:project:jar:3.8.4 [INFO] +- some.private.dep … [INFO] | +- org.junit:junit4-engine:jar:5.0.0-ALPHA:compile (version […]

如何以编程方式调用maven-resources-plugin

我正在编写一个自定义Maven插件,插件的一部分工作是过滤复制一些资源。 我写的代码看起来像这样: CopyResourcesMojo rm = new CopyResourcesMojo(); rm.setOutputDirectory(outputDir); //determined dynamically in a loop rm.setOverwrite(true); rm.setFilters(filters); //determined dynamically in a loop rm.setResources(this.resources); //Actually is of type List rm.execute(); //NulPointerException because rm’s project member is null. 这会抛出NullPointerException因为CopyResourceMojo无权访问我的mojo project ,而CopyResourceMojo没有我可以使用的setProject()方法。 我已经研究过使用mojo-executor-maven-plugin 。 我遇到的问题是使用这个库调用插件涉及编写代码,该镜像反映了该插件的XML配置。 我的插件会收到一个资源列表(就像maven-resources-plugin )所以如果我要使用mojo-executor-maven-plugin ,我想我必须编写代码来评估包含和排除。 我希望为此使用maven-resources-plugin ,因此该行为与将资源列表作为参数的其他插件100%一致。 有没有其他方法从代码调用插件,或将项目注入另一个mojo? 或者其他一些方法来实现这一目标?

从依赖于其他项目的maven项目构建jar

我在eclipse中有一个名为abc-caller的spring maven项目。 我需要创建一个项目的jar。 该项目取决于abc-lt-core。 我对这种依赖关系没有任何控制权 com.abc.lt abc-lt-core 5.1.4 abc-call的POM 4.0.0 com.abc abc-caller 1.0 caller src/main/resources *.* false install org.apache.maven.plugins maven-shade-plugin package shade Caller com.abc.Caller 1 org.apache.maven.plugins maven-compiler-plugin 3.1 1.7 1.7 org.apache.activemq activemq-all 5.8.0 org.apache.activemq activemq-pool 5.8.0 org.springframework spring-jms 3.2.4.RELEASE com.abc.lt abc-lt-core 5.1.4 org.springframework spring-core 3.2.4.RELEASE org.springframework spring-jmx 2.0.8 在buildind maven项目中,我收到以下错误 Downloading: http://repo.maven.apache.org/maven2/com/abc/lt/abc-lt/${masterVersionNumber}/abc-lt-${masterVersionNumber}.pom Downloading: http://repo.opengeo.org/com/abc/lt/abc-lt/${masterVersionNumber}/abc-lt-${masterVersionNumber}.pom Downloading: […]

使用Maven父级和模块

我最近发现了神奇的Maven模块和父系统。 我有几个应用程序,比方说A1,A2,A3(还有更多)。 我有几个依赖集,D1,D2,D3,D4(不是单一依赖,考虑整个框架,如Spring及其组件) 我的应用程序共享D4依赖集,因此我有一个包含它的基本pom,A1,A2,A3使用B1。 现在,棘手的部分: A1取决于D1,D2。 A2取决于D2,D3。 A3取决于D1,D3。 如您所见,所有应用程序中都没有使用额外的依赖关系集,因此我无法在基础POM中移动它。 管理这些依赖项有什么好方法吗? 我有一个糟糕的一天,我必须更新应用程序的依赖项,我想以更简单的方式更改它。 请记住,我有更多的应用程序,因此它不能是A1,A2,A3的特定答案。 (旁注:如果您认为采用OOP风格,我的应用程序是类,依赖集是接口)

找不到工件javax.sql:jdbc-stdext:jar:2.0 in central(https://repo.maven.apache.org/maven2)

我正在尝试构建一个我为项目创建的Web服务的REST API。 我的网络服务没有问题。 现在,我想在远程服务器上部署我的服务,我需要生成war文件。 我正在使用Java,Eclipse和Maven来实现依赖。 我尝试进行全新安装 ,唯一的失败问题是: [WARNING] The artifact jdbc:jdbc:jar:2.0 has been relocated to javax.sql:jdbc-stdext:jar:2.0 [INFO] Downloading: https://repo.maven.apache.org/maven2/javax/sql/jdbc-stdext/2.0/jdbc-stdext-2.0.jar Could not find artifact javax.sql:jdbc-stdext:jar:2.0 in central (https://repo.maven.apache.org/maven2), try downloading from http://java.sun.com/products/jdbc/download.html 有人有解决方案吗? PS:为什么我在测试时没有遇到问题,因为我手动添加了jdbc-stdext-2.0.jar ,现在我遇到了麻烦。 我的Pom.xml 4.0.0 Tech4EarthServices Tech4EarthServices 0.0.1-SNAPSHOT war src maven-compiler-plugin 3.3 1.8 1.8 maven-war-plugin 2.6 WebContent false asm asm 3.3.1 org.glassfish.jersey.core jersey-server 2.17 […]

使用AnnotationProcessor构建Maven,解析src / main / java中的文件,并生成源代码到generate-test-sources / test-annotations

我正在使用maven 3.0.3和Java7。 我有一个AnnotationProcessor,它应该解析src/main/java ( 不是 src/test/java )中带注释的java文件,并为JUnit-Tests生成Helper-Classes。 这些Helper-Class应该存储在target/generated-test-sources/test-annotations因为它们使用的库只在测试范围内可用。 (注意:只要这个依赖关系不在测试范围内,一切都可以正常工作,但是编译就会失败。它肯定只在测试范围/unit testing和编译测试类时才需要。) 我试了好几个配置而没有任何运气: 我将maven-compiler-plugin配置为在compile:compile期间使用AnnotationProcessor。 生成的HelperClass将存储在generated-sources/annotations 。 不在 generated-test-sources/test-annotations中。 结果是,不会使用Test-Scoped依赖项。 由于编译错误“无法找到符号”,构建失败。 失败 我使用了上面的配置并重新定义了generatedSourcesDirectory: ${project.build.directory}/generated-test-sources/test-annotations 生成的类将按预期存储在generated-test-sources/test-annotations中,但构建仍然失败,因为它尝试按上述方式编译该文件并错过了测试范围的依赖项。 失败 我尝试使用上面的配置并排除**/generated-test-sources/test-annotations/**/*.java以防止编译器在此阶段进行编译: **/generated-test-sources/test-annotations/**/*.java 没运气。 与上面相同的编译器错误。 失败 我将maven-compiler-plugin配置为在test-compile:testCompile期间使用AnnotationProcessor test-compile:testCompile 。 HelperClass理论上可能是在generated-test-sources/test-annotations中generated-test-sources/test-annotations ,但是AnnotationProcessor不会偶然发现位于src/main/java的带注释的类,而不是src/test/java中的AFAIK test-compile:testCompile期间test-compile:testCompile范围test-compile:testCompile 。 因此,找不到Annotated类,HelperClass将不会生成,因此不能存储在generated-test-sources 。 失败 试图在compile:testCompile期间运行compile:testCompile和test-compile:compile ,这在两种情况下都导致src / main / java的类尚未编译 – 因此编译错误。 失败 我真正想做的是: 配置编译器在compile:compile期间使用AnnotationProcessor compile:compile生成我的HelperClass到${project.build.directory}/generated-test-sources/test-annotations 但不要让maven编译它 然后在test-compile:testCompile期间test-compile:testCompile 。 我没有这样做。 我不确定我是否缺少重要的maven基础知识(概念),或者排除配置是否存在问题,或者不管它是什么。 […]