私は2つのプロジェクトAとBを持っています。ここでAはBに依存しています。BをBARとしてパッケージ化してMavenサーバー(artifactory)そのjarはpomファイルのプロジェクトAに対する通常の依存関係です。 BのjarファイルはプロジェクトAのMaven依存関係に表示されますが、プロジェクトBの依存関係は依存関係の階層には表示されません。 Bの依存関係のためにクラスが見つかりません例外を引き起こしています。Maven - Artifactoryにデプロイされたアーティファクトのための推移的な依存関係は解決されていません
しかし、私のプロジェクトAとBと同じEclipseワークスペースです。プロジェクトBを開くと、プロジェクトAはリモートリポジトリではなくワークスペースからプロジェクトBを参照し始め、すべてうまく機能します。
この質問 - Maven. Transitive dependenciesは私の問題に最も近いものでしたが、私のプロジェクトBの依存関係はオプションではありません。
ここで何が問題になりますか?私はMavenのクイックスタート原型を使用していたプロジェクト
<?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.myapp</groupId>
<artifactId>core-app</artifactId>
<version>1.0.0-RELEASE</version>
<packaging>jar</packaging>
<name>core-app</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.myapp</groupId>
<artifactId>utils</artifactId>
<version>1.0.0-RELEASE</version>
</dependency>
</dependencies>
</project>
ため
プロジェクトBのためのPOM
<?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.myapp</groupId>
<artifactId>utils</artifactId>
<version>1.0.0-RELEASE</version>
<packaging>jar</packaging>
<name>utils</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- Following doesn't get added to project A -->
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
</project>
POM。私のプロジェクトのプロジェクトの構造は、(私はjarファイルとしてパッケージ化している)である:
project-name
src/main/java
src/test/java
pom.xml
あなたのお金は問題を理解するのに役立ちます。 – davidxxx
アプリケーションを実行しているときにEclipse内でClassNotFoundExceptionを取得していますか?はいの場合、プロジェクトBはEclipseでプロジェクトAの依存関係を解決しており、Artifactoryから参照されていません。これを制御する「ワークスペース成果物の解決」というオプションがあります。 – Shinchan
@davidxxxポムを更新しました。これは本当にこの段階で簡単です。 –