既存のプロジェクトをantからmavenプロジェクトに変更しました。 これまでのところとても良いです。Maven:型を解決できません。これは間接的に必要な.classファイルから参照されます
すべてのプロジェクトに同じgroupIdがあります。 名前が「ServerBase」でartifactIdが「server-base」のプロジェクトです。このプロジェクトの中で は抽象クラスをtheresのを経由してロガーを定義する「BaseService」:
import org.jboss.logging.Logger;
[...]
protected Logger log = Logger.getLogger(this.getClass());
は名前「サーバー」とたartifactId「サーバー」と別のプロジェクトをtheresの。 このプロジェクト内では、上記のBaseService-Classを拡張するConfigurationDAOImplクラスがあります。 ConfigurationDAOImpl内では、出力を作成するためにログ出力ログが使用されます。
私が宣言した「サーバ」のPOMファイル内:ビルドパスの下
<dependency>
<groupId>com.tcom.amadeus</groupId>
<artifactId>server-base</artifactId>
<version>${project.version}</version>
</dependency>
を依存性がMavenDependenciesの下で非常に素晴らしい示されています。私は古いパス/自然/ ant-dependencyをビルドパスから削除しました。私はそれを削除した場合 私は など不足しているクラスについて非常に多くのエラーを取得しています。しかし、私は(タブマーカー下)日食にfollowinエラーを取得しています。この依存関係を持っているものの:
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 Release(4.6.1) 私はapache-maven-3.3.9を使用しています 私はm2eプラグインを使用しています。
これ以上のお役に立てれば助かります。 ありがとうございます。
コマンドラインで作ってみる:私は明示的にポンポンファイルサーバー内この依存関係を追加するとき – khmarbaise
は助けることがなかった... MVNクリーンパッケージ: のjboss-ロギングをorg.jboss.logging エラーが表示されません。しかし、この依存関係は依然としてサーバーベースのpomファイル内で定義されており、サーバーベースからサーバーベースへの依存関係を追加して、推移的な方法でサーバーベースからすべての依存関係を取得することを期待しているため、私が間違っている? –
Kaspatoo
ok私はそれを持っていると思う 私はサーバーベースのPOMファイル内で話している依存関係は、スコープを持っている:提供、それを消すとき(デフォルトを使用するようにつながる)または 'コンパイル'デフォルト)、エラーも消えます。 私は今、scopeコンパイルがデプロイメントを見ているかどうかを調べるつもりです(ターゲットアプリケーションサーバにはまだ独自のjarがあるので、jarファイルもデプロイしたくないかもしれません)。 ありがとうございます。私は、サーバのMavenの依存関係の下で見ることができます – Kaspatoo