-1

免責事項: このアーキテクチャをどのように変更すべきかについて提案を送信することは控えてください。私はそれを変更する立場にありません。私は新しい仕事で物事がどのように機能するかを理解しようとしています。目に見えるアーキテクチャの変更を行うことは変数ではなく、この投稿の範囲内でもありません。ありがとう

BODY: 私は比較的新しく、プロジェクトの のリストを作成Mavenする方法を理解しようと現在苦労しています。私の Eclipse ワークスペースは、次のレイアウトに準拠しています。EclipseMaven Dependencies

workspace
  |
  |--maven
  |    |
  |    |--pom.xml (super pom)
  |
  |--proj_1
  |    |
  |    |--pom.xml (parent->relativePath=../maven/pom.xml)
  |    |
  |    |--src
  |
  |--proj_2
  |    |
  |    |--pom.xml (parent->relativePath=../maven/pom.xml)
  |    |
  |    |--src
  ...
  |
  |--proj_n
       |
       |--pom.xml (parent->relativePath=../maven/pom.xml)
       |
       |--src

ワークスペースの下の各ノードは Eclipse プロジェクトです。Eclipse を見ると、(私が思うに) がPackage Explorer存在すると、jars という名前のライブラリ バンドルが作成され、そのプロジェクトの.pom.xmlMaven Dependenciesclasspath

ただし、Eclipse が pom.xml ファイルの階層から必要な参照 jar のリストを抽出する方法については理解できません。たとえば、Maven Dependencies にfoobar.jarがリストされていますが、そのプロジェクトの pom.xml にもそれが参照するスーパー pom にもそのようなエントリはありません。クラスパスにいくつかの変更を加える必要がありますが、(通常の Eclipse からできるように) Maven 依存関係から直接 jar を取り出すことができないため、Referenced Librariesどこかの poms で行う必要があると思います。

pom.xml 階層が参照ライブラリの Eclipse クラスパスにどのように変換されるかを理解してください。

4

1 に答える 1

0

pom.xml親ファイルを直接参照するべきではありませんpom.xml。そのように、子ファイルの先頭で参照する必要があります。この構成のどこにも相対パスがないことに注意してください。

<parent>
    <groupId>com.yourcompany</groupId>
    <artifactId>your-parent</artifactId>
    <version>your-version</version>
</parent>

親でも子でも.jar直接参照されていないファイルが多数表示されます。これは正常であり、これらは一時的な依存関係と呼ばれます。言い換えれば、それらはあなたの依存関係の依存関係です。pom.xmlpom.xml

Maven でクラスパスを変更することはありません。スタンザを操作するだけで、<dependency/>必要なクラスパスが Maven によって構築されます。これを手動で行っている場合は、間違っています。他のいくつかのステートメントから、おそらく他のものも根本的に間違っています.使用している用語のいくつかのために、イディオマティックMavenは継承の相対パスをうまく処理しません. しかし、実際に親pom.xmlをどのように構成しているかを実際に投稿していないため、わかりません。 pom.xml

これを生成できることを読んでくださいmaven-dependency-plugin

com.xx.xxxpreferences:jar:1.0-SNAPSHOT
+- com.xx.xxx:common:jar:1.0-SNAPSHOT:compile
|  +- org.slf4j:slf4j-jdk14:jar:1.7.5:compile
|  +- com.lowagie:itext:jar:4.2.0:compile
|  |  +- org.bouncycastle:bctsp-jdk14:jar:1.38:compile
|  |  |  +- org.bouncycastle:bcprov-jdk14:jar:1.38:compile
|  |  |  \- org.bouncycastle:bcmail-jdk14:jar:1.38:compile
|  |  +- dom4j:dom4j:jar:1.6.1:compile
|  |  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
|  |  +- jfree:jfreechart:jar:1.0.12:compile
|  |  |  \- jfree:jcommon:jar:1.0.15:compile
|  |  \- org.swinglabs:pdf-renderer:jar:1.0.5:compile
|  +- com.xx.xxx:exceptions:jar:1.0-SNAPSHOT:compile
|  |  \- struts:struts:jar:1.1:compile
|  |     +- commons-beanutils:commons-beanutils:jar:1.6.1:compile
|  |     +- commons-collections:commons-collections:jar:3.1:compile
|  |     +- struts:struts-legacy:jar:1.1:compile
|  |     +- commons-digester:commons-digester:jar:1.6:compile
|  |     +- commons-fileupload:commons-fileupload:jar:1.0:compile
|  |     +- commons-lang:commons-lang:jar:2.1:compile
|  |     +- commons-logging:commons-logging:jar:1.0:compile
|  |     +- commons-validator:commons-validator:jar:1.1.4:compile
|  |     +- oro:oro:jar:2.0.7:compile
|  |     \- javax.sql:jdbc-stdext:jar:2.0:compile
|  +- javax.mail:mail:jar:1.5.0-b01:compile
|  |  \- javax.activation:activation:jar:1.1:compile
|  \- com.netcharts:pro:jar:0.1:compile
+- com.fasterxml.jackson.core:jackson-annotations:jar:2.0.1:compile
+- com.fasterxml.jackson.core:jackson-core:jar:2.2.0:compile
+- com.fasterxml.jackson.core:jackson-databind:jar:2.2.0:compile
+- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.2.1:compile
|  +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.2.1:compile
|  \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.2.1:compile
+- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.1.3:compile
|  \- org.codehaus.woodstox:stax2-api:jar:3.1.1:compile
+- org.codehaus.woodstox:woodstox-core-asl:jar:4.1.4:compile
|  \- javax.xml.stream:stax-api:jar:1.0-2:compile
+- org.slf4j:slf4j-api:jar:1.7.5:compile
+- com.google.code.findbugs:jsr305:jar:2.0.1:compile
+- junit:junit:jar:4.11:test
|  \- org.hamcrest:hamcrest-core:jar:1.3:test
\- com.google.guava:guava:jar:14.0:compile

次に、特定の回答を得るために、いくつかの特定の質問に戻ってきます。

于 2013-09-11T16:17:41.207 に答える