我有一个像下面这样的家长。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.parent.pom</groupId>
<artifactId>parent-pom</artifactId>
<version>1.0.0</version>
<name>parentpom</name>
<packaging>pom</packaging>
<properties>
<parentversion>1.0.0</parentversion>
</properties>
</project>
而我的孩子波姆就像。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.parent.pom</groupId>
<artifactId>parent-pom</artifactId>
<version>${parentversion}</version>
<relativePath>../pom.xml</relativePath>
</parent>
<groupId>com.child.pom</groupId>
<artifactId>child-pom</artifactId>
<version>2.0.0</version>
<name>Childpom</name>
<packaging>pom</packaging>
</project>
我的文件夹结构像
POM-test(根文件夹具有父pom)---child(具有子pom)
当我运行mvn clean install时,我的孩子得到了如下的异常。
ERROR] The build could not read 1 project -> [Help 1]
ERROR]
ERROR] The project com.child.pom:child-pom:2.0.0 (C:\Users\kk\Desktop\POM-Test\child\pom.xml) has 1 error
ERROR] Non-resolvable parent POM: Could not transfer artifact com.parent.pom:parent-pom:pom:${parentversion} from/to central (http://repo.maven.apache.org/
maven2): Illegal character in path at index 63: http://repo.maven.apache.org/maven2/com/parent/pom/parent-pom/${parentversion}/parent-pom-${parentversion}.pom
and 'parent.relativePath' points at wrong local POM @ line 5, column 9 -> [Help 2
为什么我不能安装这个pom?
从Maven 3.2.1开始,如果您愿意,可以在您的版本中使用属性${revision}
、${sha1}
和${changelist}
。
所以您可以这样使用它:
<groupId>com.soebes.examples.j2ee</groupId>
<artifactId>parent</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<modules>
<module>child</module>
</modules>
你可以这样用在孩子身上:
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.soebes.examples.j2ee</groupId>
<artifactId>parent</artifactId>
<version>${revision}</version>
</parent>
<artifactId>child</artifactId>
mvn -Drevision=1.2.3-SNAPSHOT clean package
mvn -Drevision=1.2.3 clean package
此外,不需要给定的
,因为它是默认值,所以可以省略它。
非常重要。如果您有一个如您所描述的结构,那么子结构应该始终具有与父结构相同的版本(在多模块构建的情况下,如给定的示例),或者父结构(企业pom)应该是一个单独的项目,这意味着也是一个单独的git存储库。此外,关于另一个解释,请查看此处:https://stackoverflow.com/a/35057833/296328
我试图在使用openapi 3规范设计的API中引入可为null的属性。其思想是始终将属性返回给客户端,无论其值是否为null。 YAML文件(我先尝试了,没有默认,结果相同): 生成Java代码: API的响应: 因此,无论属性是否为null,结果总是“present:true”。如果没有nullability,它就可以正常工作,除了从响应中删除不需要的null值。 有什么想法吗? P、 该物业
TestNG属性“DelegateCommandSystemProperties”不能与maven surefire插件一起使用。 我试图在testng.xml中运行一个测试,它使用名为“count”的参数。 我在其中配置属性的pom.xml代码段 简而言之,我需要帮助从maven surefire命令将参数传递给testng test!
是否存在具有VCS根目录的Maven属性?即或目录的父目录? 我需要提取Java8个用于测试的JRE二进制文件。在詹金斯的构建过程中使用是有效的,我只得到一次JRE,我可以在任何地方使用它。但是如果我手动运行一个子项目,我会得到另一个提取的JRE副本。
我有豆子,例如 服务(特定服务)是使用抽象方法初始化()扩展抽象类MyService并使用方法特定的Logic()实现接口MyInterface的类。 因此,管理器在服务对象上调用方法init(),如下所示: 但当bean初始化时,我有以下问题: 无法转换“java.util”类型的属性值。将LinkedHashSet设置为所需类型“java.util”。设置“for property”“serv
我使用最新版本的Java- 注入构造函数时出错,java。lang.ExceptionInInitializerError:无法访问组织属性的默认字段。阿帕奇。专家插件。战争沃莫霍。(未知源)查找组织时。阿帕奇。专家插件。战争沃莫霍 我如何解决这些问题?它们是由Java版本引起的吗?
在阅读了关于这个主题的大约50个不同的线程后,我还没有能够有任何解决方案工作。 我正在尝试访问JAR中的config.properties文件。 null null file.jar MyApp 此处的files.class 等… icon.jpg config.properties