2017-08-15 6 views
1

私は以下のようなEclipse/Gradleプロジェクトを持っています。 .proto記述子用に1つのディレクトリと、他のプロジェクトに含めるために生成された.javaファイル用に1つのディレクトリ。Gradle-> Refreshを実行すると、protobufのソースフォルダが.classpathから削除されるのはなぜですか?

src/main/java 
    src/main/proto 

私は編集作業を楽にするために、Eclipseのソースフォルダとして私src/main/protoディレクトリを追加します。

当然私は.classpathファイルに<classpathentry kind="src" path="src/main/proto"/>を追加します。ソースフォルダが追加され、Gradle->Refreshを実行すると、元のフォルダが不本意に削除されます。私の推測では、protoフォルダにある.javaファイルが見つからないため、.classpathからフォルダ全体が削除されます。これを防ぐ方法はありますか?

私も試してみました:

<classpathentry kind="src" path="src/main/proto"> 
    <attributes> 
    <attribute name="FROM_GRADLE_MODEL" value="true"/> 
    </attributes> 
</classpathentry> 

this questionから成功せず。

答えて

2

だから、もしあなたがリフレッシュすると、gradleは.classpathファイルを最初から作り直すことになります。あなたはグラデーションレベルで定義していないものは失われます!

どのようにGradleでsrcフォルダを定義しますか? あなたはbuild.gradleに次のブロックを配置しようとすると:

sourceSets { 
    main { 
     java { 
      srcDirs 'src/main/proto' 
     } 
    } 
} 

これは限りフォルダが少なくとも1つのファイルが含まれているとして、Eclipseのクラスパスに「SRC /メイン/プロト」を追加する必要があります!

関連する問題