Tag: pom.xml

在外部项目中强制执行自定义规则

我有一个Parent maven项目和该项目中的4个模块: 现在我想提出一些自定义规则,说明不存在以字符串“master-”开头的项目版本或依赖版本。 此规则适用于依赖于eBill软件的所有外部项目。 所以我创建了一个名为customRule的新模块,其父级也是eBill Software。 我遵循写一个自定义规则 ,我的规则类在新模块中。 模块customRule中CustomRule.java的相关部分: MavenProject project = (MavenProject) helper.evaluate( “${project}” ); Set artifacts = project.getArtifacts(); boolean containsInvalid = artifacts.stream() .filter(item -> item.getVersion() .startsWith(“master-“)) .anyMatch(item -> true); if(containsInvalid) { this.shouldIfail = true; } customRule模块pom.xml的相关部分: org.apache.maven.plugins maven-enforcer-plugin 1.4 enforce-no-master-versions enforce false 现在我想在父模块eBill软件中访问此自定义规则: 那么我应该在其pom.xml和外部项目的pom.xml中输入什么才能获得适用于依赖于eBill软件的所有外部项目的自定义规则。

Maven安装第三方Jar文件

我正在使用apache maven 3.1.1。 我试图使用以下命令在我的本地存储库中安装第三方Jar文件 mvn install:install-file -Dfile= 但是,我收到一个错误,说当前目录中没有运行maven的Pom文件。 根据Maven 安装插件,如果使用Maven创建jar文件,它将包含POM xml(在这种情况下,POM位于META-INF子目录中的jar文件中),您将不需要提供POM文件的路径。 我在这里错过了什么吗? 这是错误。 $ mvn install:install-file -Dfile=JDBM-3.0-alpha2.jar -ex [INFO] Error stacktraces are turned on. [INFO] Scanning for projects… [INFO] ———————————————————————— [INFO] BUILD FAILURE [INFO] ———————————————————————— [INFO] Total time: 0.076s [INFO] Finished at: Fri Nov 29 22:23:58 EST 2013 [INFO] Final Memory: 5M/147M [INFO] ———————————————————————— [ERROR] […]

无法让Cassandra在Basic Applcation中工作

这是我当前的错误: com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1 (com.datastax.driver.core.TransportException: [/127.0.0.1] Unexpected exception triggered (java.lang.NoClassDefFoundError: Could not initialize class com.datastax.driver.core.Codec))) com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:186) com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:81) com.datastax.driver.core.Cluster$Manager.init(Cluster.java:773) com.datastax.driver.core.Cluster$Manager.access$100(Cluster.java:706) com.datastax.driver.core.Cluster.(Cluster.java:79) com.datastax.driver.core.Cluster.(Cluster.java:66) com.datastax.driver.core.Cluster$Builder.build(Cluster.java:687) com.t2.claims.persistence.CassandraClient.getOrCreateCluster(CassandraClient.java:12) com.t2.claims.persistence.CassandraClient.getOrCreateSession(CassandraClient.java:18) com.t2.claims.dao.AlertDaoImpl.findAll(AlertDaoImpl.java:25) com.t2.claims.controllers.AlertIndexController.doAfterCompose(AlertIndexController.java:36) org.zkoss.zk.ui.impl.UiEngineImpl.doAfterCompose(UiEngineImpl.java:529) …. 我觉得我正在导入我需要的所有可用的人工制品(以及许多我不想试图解决这个问题)。 我只是不明白为什么这不起作用? 这是我的pom.xml的完整性: 4.0.0 com.t2.claims T2ClaimsPortal war 1.0-SNAPSHOT T2ClaimsPortal 3.2.0.RELEASE 6.0.2.1 2.4 1.2.1 1.3.1 1.1.1 spring-milestone Spring Maven MILESTONE Repository http://maven.springframework.org/milestone […]

如何在pom.xml中添加\ install到新创建的\第三方jar的maven依赖项

对于maven项目,我的代码需要一个Jar文件但不在maven存储库中,因此,我已经下载并在配置的远程存储库中添加了jar文件。 我想添加jar的依赖项。 所以我想知道 ? ? ? 另外我想知道在哪里可以找到jar子里的这些细节

防止Glassfish使用自己的库版本而不是项目中的库

Glassfish将大量第三方库存储在其modules目录中。 令我惊讶的是,如果我的项目使用了存在的库,Glassfish将从那里提供它,而不是我在WAR文件中打包的正确版本。 这导致了许多错误。 例如,我使用jackson-datatype-joda版本2.6.3,它需要具有相同版本的jackson-databind ,并且它包含在我的项目中。 但Glassfish用版本2.3.2取代了该软件包,导致了这个问题 。 如何防止Glassfish(4.1)将我使用的库替换为其他版本?

Groovy&maven – 从src / main / groovy编译源代码

我一直在寻找几个小时如何用maven建立.jar。 Finnaly我明白了。 但现在我必须在src / main / java中有源代码。 如何’s包括’src / main / groovy到我的项目? 我在这里阅读解决方案,但我真的不想改变我的pom.xml。 我有这么多麻烦。 这是我的pom.xml 4.0.0 net.thornydev script jar 1.0 script http://maven.apache.org maven-compiler-plugin 2.3.2 groovy-eclipse-compiler org.codehaus.groovy groovy-eclipse-compiler 2.7.0-01 org.apache.maven.plugins maven-shade-plugin 2.1 package shade pl.jedro.Main org.codehaus.groovy groovy-all 2.4.0-beta-3 我尝试过: ${basedir}/src/main/groovy 和 src/main/groovy 但仍然没有。 我有 : 错误:无法找到或加载主类pl.jedro.Main

更新maven项目模块中的父版本

我有一个奇怪的场景,我有一个项目“Y”,它有一个模块“X”和其他一些模块。 X是项目Y的一部分,但它不作为该项目的模块链接。 因此,每次发布更新版本的Y时,都需要手动更新X中的父版本。 我需要以下列方式更新Y项目:a)每次发布Y项目时,X中的父项目版本应由TeamCity自动更新(与其他模块类似) b)X不得是Y分布的一部分 c)一旦部署在TeamCity中,它就不应该从X运行测试(它们应该使用Integration测试和发布版本运行)

Maven从伟大的父母那里获取依赖版本,而不是我们父母的依赖管理

下面显示了我的POM的层次结构。 你可以看到我们有一个公司的父亲pom春季启动项目。 这个POM有spring-boot-starter作为它的父级,它导入我们自己的依赖管理BOM。 [INFO] — hierarchy-maven-plugin:1.4:tree (default-cli) @ user-service — [INFO] PARENT com.MY_COMPANY.platform:user:3.20.14-SNAPSHOT [INFO] PARENT com.MY_COMPANY.platform:spring-boot-parent:3.20.12-SNAPSHOT [INFO] PARENT org.springframework.boot:spring-boot-starter-parent:1.5.12.RELEASE [INFO] PARENT org.springframework.boot:spring-boot-dependencies:1.5.12.RELEASE <<<< This pom defines assertJ 2.x [INFO] [ other imports ] [INFO] IMPORT com.MY_COMPANY:dependencyManagementBase:2.23.14-SNAPSHOT <<<<<<<<<<<< This pom defines assertJ 3.x [INFO] IMPORT com.MY_COMPANY.platform:platform-dependency-management:1.20.7 [INFO] ———————————————————————— 为了专注于特定的,我们在依赖管理中定义AssertJ 3; 然而,spring-boot-dependencies定义了AssertJ 2.与assertJ没什么关系,但还有其他类似Mongo-Java-Driver的鱼没有拿起我们的版本。 Maven如何在这里选择优先权? 为什么我们的依赖管理不会战胜远祖的依赖管理? 我还注意到,如果我将AssertJ作为MY_COMPANY.platform:spring-boot-parent的依赖项添加,它也不会在我们的依赖管理中使用该版本(所以我现在只保留它,所以层次结构下显微镜更短)。 编辑 […]

如何从maven pom访问linux环境变量?

我想从pom.xml访问linux环境变量 我添加了WAS_LOCAL_HOST=’http://localhost:9081′ ~/.bashrc和~/.zsh/rc/env.rc 现在我想从maven的pom.xml访问它。 我尝试了${env.WAS_LOCAL_HOST}和${WAS_LOCAL_HOST} ,但我的IntelliJ仍然将其标记为Cannot resolve symbol env.WAS_LOCAL_HOST 如何从maven正确访问此变量?

如何在pom.xml中为wsdl2java指定前端?

我找到了关于将-fe jaxws21添加到wsdl2java命令以使其生成jaxws 2.1兼容代码而不是2.2的重要提示,但Maven的pom.xml似乎不喜欢这样的添加: wsdl2java -fe jaxws21 为pom.xml中使用的wsdl2java指定前端的正确方法是什么?