我將一些現有的項目從ant更改爲maven項目。 目前爲止這麼好。Maven:類型無法解析。它是從所需的.class文件間接引用的。
所有項目都具有相同的groupId。 Theres是一個名爲「ServerBase」和artifactId「server-base」的項目。 在這個項目那裏有一個抽象類「BaseService」,它通過定義了一個記錄:
import org.jboss.logging.Logger;
[...]
protected Logger log = Logger.getLogger(this.getClass());
那裏有另一個項目名稱爲「服務器」和artifactId的「服務器」。 在這個項目中,有一個類ConfigurationDAOImpl擴展了上面的BaseService-Class。 在ConfigurationDAOImpl中,記錄器日誌用於創建一些輸出。
在「服務器」的我已經聲明POM文件:
<dependency>
<groupId>com.tcom.amadeus</groupId>
<artifactId>server-base</artifactId>
<version>${project.version}</version>
</dependency>
在構建路徑依賴性顯示下MavenDependencies很不錯。我之前從構建路徑中刪除了舊版本/自然版/螞蟻依賴版。 如果我刪除它,我獲得關於曠課等 很多錯誤,但儘管我確實有這種依賴我正在Eclipse中的跟隨着錯誤(標籤下的標記):
The type org.apache.commons.logging.Log cannot be resolved. It is indirectly referenced from required .class files
Resource: ConfigurationDAPImpl.java
Path: /Server/src/main/...
Location: Line 24
Type: Java Problem
我試圖消除依賴並再次添加它,但沒有任何運氣。 這兩個項目都參考JAVA 1.8。 這兩個項目都是使用目標構建的,可以多次清理軟件包。 這兩個項目都已由Righclick更新或按F5。我正在使用Eclipse版本:Neon.1a版本(4.6.1) 我正在使用apache-maven-3.3.9 我正在使用m2e插件。
任何進一步的幫助將不勝感激。 在此先感謝。
爭取在命令行:MVN清潔套裝...... – khmarbaise
沒有幫助,但是當我明確地添加服務器的pom文件內這種相關性: org.jboss.logging 的jboss-記錄 錯誤消失。但我並不真的想這樣做,因爲這種依賴性仍然在基於服務器的'pom文件中定義,並且我添加了從服務器到服務器的依賴關係,因此我希望以傳遞方式從服務器基礎獲取所有依賴關係。我錯了嗎? –
Kaspatoo
好吧我想我得到它 我在服務器基地pom文件內說的依賴性已得到範圍:提供,當它擦除(這將導致使用默認值)或將其更改爲'編譯'(我認爲是默認),錯誤也消失。 我現在要研究範圍編譯是否可以查看部署(我可能不希望部署jar也是因爲目標應用程序服務器仍然有自己的jar包)。 感謝所有。 – Kaspatoo