Maven 构建:构建前需要编辑 pom.xml
Maven build: Need edit pom.xml before build
我是 Maven 的初学者,我正在尝试构建 Signal CDS
当我 运行 mvn package
构建时,出现错误:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/t/Documents/ContactDiscoveryService/client/src/main/java/org/whispersystems/contactdiscovery/ContactDiscoveryClient.java:[13,63] cannot find symbol
symbol: class SignalContactDiscoveryUrl
location: package org.whispersystems.signalservice.internal.configuration
[ERROR] /home/t/Documents/ContactDiscoveryService/client/src/main/java/org/whispersystems/contactdiscovery/ContactDiscoveryClient.java:[167,5] cannot find symbol
symbol: class SignalContactDiscoveryUrl
location: class org.whispersystems.contactdiscovery.ContactDiscoveryClient
[ERROR] /home/t/Documents/ContactDiscoveryService/client/src/main/java/org/whispersystems/contactdiscovery/ContactDiscoveryClient.java:[167,57] cannot find symbol
symbol: class SignalContactDiscoveryUrl
location: class org.whispersystems.contactdiscovery.ContactDiscoveryClient
[ERROR] /home/t/Documents/ContactDiscoveryService/client/src/main/java/org/whispersystems/contactdiscovery/ContactDiscoveryClient.java:[190,42] cannot find symbol
symbol: method getRegisteredUsers(java.security.KeyStore,java.util.Set<java.lang.String>,java.lang.String)
location: variable serviceManager of type org.whispersystems.signalservice.api.SignalServiceAccountManager
我在使用docker构建时遇到了同样的错误。
但是当我编辑顶层 pom.xml
时,只需添加一个换行符或一个 space,就可以成功构建。
你能给我解释一下为什么会发生这种情况以及如何解决它吗
谢谢
编辑1:
我使用 maven 3.6.2 和 java 11
$ mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T22:06:16+07:00)
Maven home: /home/t/Tools/apache-maven-3.6.2
Java version: 11.0.2, vendor: Oracle Corporation, runtime: /usr/lib/jvm/jdk-11.0.2
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-72-generic", arch: "amd64", family: "unix"
以下步骤在这里有效
$ git clone https://github.com/signalapp/ContactDiscoveryService.git
将 client/pom.xml
中的依赖版本从 2.7.8
更新为 2.9.0
。因为classSignalContactDiscoveryUrl
是在2.8.1
版本之后引入的
<dependency>
<groupId>org.whispersystems</groupId>
<artifactId>signal-service-java</artifactId>
<version>2.9.0</version>
</dependency>
使用
构建
$ cd ContactDiscoveryService
$ mvn package
我是 Maven 的初学者,我正在尝试构建 Signal CDS
当我 运行 mvn package
构建时,出现错误:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/t/Documents/ContactDiscoveryService/client/src/main/java/org/whispersystems/contactdiscovery/ContactDiscoveryClient.java:[13,63] cannot find symbol
symbol: class SignalContactDiscoveryUrl
location: package org.whispersystems.signalservice.internal.configuration
[ERROR] /home/t/Documents/ContactDiscoveryService/client/src/main/java/org/whispersystems/contactdiscovery/ContactDiscoveryClient.java:[167,5] cannot find symbol
symbol: class SignalContactDiscoveryUrl
location: class org.whispersystems.contactdiscovery.ContactDiscoveryClient
[ERROR] /home/t/Documents/ContactDiscoveryService/client/src/main/java/org/whispersystems/contactdiscovery/ContactDiscoveryClient.java:[167,57] cannot find symbol
symbol: class SignalContactDiscoveryUrl
location: class org.whispersystems.contactdiscovery.ContactDiscoveryClient
[ERROR] /home/t/Documents/ContactDiscoveryService/client/src/main/java/org/whispersystems/contactdiscovery/ContactDiscoveryClient.java:[190,42] cannot find symbol
symbol: method getRegisteredUsers(java.security.KeyStore,java.util.Set<java.lang.String>,java.lang.String)
location: variable serviceManager of type org.whispersystems.signalservice.api.SignalServiceAccountManager
我在使用docker构建时遇到了同样的错误。
但是当我编辑顶层 pom.xml
时,只需添加一个换行符或一个 space,就可以成功构建。
你能给我解释一下为什么会发生这种情况以及如何解决它吗
谢谢
编辑1: 我使用 maven 3.6.2 和 java 11
$ mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T22:06:16+07:00)
Maven home: /home/t/Tools/apache-maven-3.6.2
Java version: 11.0.2, vendor: Oracle Corporation, runtime: /usr/lib/jvm/jdk-11.0.2
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-72-generic", arch: "amd64", family: "unix"
以下步骤在这里有效
$ git clone https://github.com/signalapp/ContactDiscoveryService.git
将 client/pom.xml
中的依赖版本从 2.7.8
更新为 2.9.0
。因为classSignalContactDiscoveryUrl
是在2.8.1
<dependency>
<groupId>org.whispersystems</groupId>
<artifactId>signal-service-java</artifactId>
<version>2.9.0</version>
</dependency>
使用
构建$ cd ContactDiscoveryService
$ mvn package