2017-08-28 7 views
0

私はIntellijを使用しており、同僚はEclipseを使用しています。 datamodelプロジェクトには、ほとんどのコンポーネントが依存しているJPAコードがすべて含まれています。生成された依存プロジェクトのソースをビルドパスに追加するにはどうすればよいですか?

datamodel依存関係の1つがutilsです。 utilsには生成されたソースがあります。 Eclipseの私の同僚は、utilsのターゲット/生成ソースをビルドパスに追加し、Eclipse内ですべてがビルドされて正常に動作します。

私はProject Structureに行くとutilsに行き、utilsのターゲット/生成元をSourceというフォルダに追加する必要がありますか?

または私は、依存関係としてそのモジュールを追加する必要がありますか?

編集: でutilsのポンポン:

  <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
      <execution> 
       <id>generate-sources</id> 
       <phase>generate-sources</phase> 
       <configuration> 
       <tasks> 
        <mkdir dir="target/generated-sources" /> 
        <exec executable="protoc"> 
        <arg value="--java_out=target/generated-sources" /> 
        <arg value="src/main/resources/utilities.proto" /> 
        </exec> 
       </tasks> 
       <sourceRoot>target/generated-sources</sourceRoot> 
       </configuration> 
       <goals> 
       <goal>run</goal> 
       </goals> 
      </execution> 
      </executions> 
     </plugin> 
+0

はどのようにそれらの依存関係を管理していますか?たとえば、依存関係を定義するためにmavenを使用すると自動的にutils.jarがインクルードされ、プロジェクトはIDEに依存しなくなります。 IDEを使用してプロジェクトを手動で管理してコンパイルする場合、依存関係のあるプロジェクトはどのように正確に配備されますか? –

+0

'utils'は' datamodel'のための依存関係です。 – Crystal

+0

次に、datamodel.jarは他のプロジェクト内の依存関係にする必要があります。推移的な依存関係には、utils.jarも含まれます(指定されたものとして除外またはフラグが立てられていることが特に明記されている場合を除きます)。 –

答えて

-1

ローカルで構築するプロジェクトが実際にソースを生成した場合に依存します。 1つのインスタンスIntellijは、自動的に生成されたソースを私のために拾いました。 Intellijが自動的に実行しない場合は、手動でソースフォルダとして使用する必要があります。

プロジェクトがソースを生成しない場合、あなたは依存関係として、それらを追加する必要があります。

だからあなたの場合には決定はすでにutilsの依存性/プロジェクトで作られています。 utils依存関係/プロジェクトはソースを生成するのか、それともソースを含んでいますか?

+0

utilsプロジェクトはソースを生成します。 – Crystal

+0

次に、プロジェクトをmavenの依存関係として追加する必要があります。依存関係の作成者は、依存関係をパッケージ化する方法を既に決定しています。通常、Maven環境では、あなたの会社のパッケージは、すでにアーティファクトリポジトリにインストールされています。あなたがする必要があるのは、自分のプロジェクトにプロジェクトを組み込む依存関係を定義することだけです。 依存関係が会社のリポジトリにない場合は、プロジェクトのソースコードが必要で、ソースを生成してmavenでコンパイルします。これは通常次のコマンドで行います。 maven clean install –

+0

他のプロジェクトでも必要な場合は、会社のリポジトリにインストールすることを検討してください。これは通常次のコマンドで行われます: maven clean deploy –

0

あなたは依存関係として、あなたの同僚によって造られたutilsを使用することができます。 しかし、あなたは今まで、あなたが追加してのpom.xmlを修正する必要がありutilsのソースを変更する場合:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.4</version> 
    <executions> 
     <execution> 
      <id>test</id> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>add-source</goal> 
      </goals> 
      <configuration> 
       <sources> 
        <source>${basedir}/target/generated-sources</source> 
       </sources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

IntelliJのプラグインをサポートし、generated-sourcesフォルダがReimportをクリックした後にSourceフォルダとしてマークされます。

関連する問題