タイトルのような質問。Maven Javaプロジェクトをコンパイルすることはできますか?エラーのあるJavaファイルは無視し、エラーのないJavaファイルはコンパイルできますか?
開発中にすべてのファイルが完全な状態にない大きなプロジェクトがあります。私はあなたがskipTests
できることを知っていますが、fail_never
のように、プロジェクトが最初にコンパイルエラーで停止するのではなく、できる限りコンパイルできるようにしてください。
タイトルのような質問。Maven Javaプロジェクトをコンパイルすることはできますか?エラーのあるJavaファイルは無視し、エラーのないJavaファイルはコンパイルできますか?
開発中にすべてのファイルが完全な状態にない大きなプロジェクトがあります。私はあなたがskipTests
できることを知っていますが、fail_never
のように、プロジェクトが最初にコンパイルエラーで停止するのではなく、できる限りコンパイルできるようにしてください。
Javaについて私を慰めてくれるものは、クラスファイルがあればコンパイラが渡したことです。 Javaはまだ強く型付けされた言語です(最後にチェックしました)。その主な目的はエラーを早期に検出することです。私はコンパイルエラーがあってもコンパイルの出力が存在する他の言語の状況を望んでいません。
クラスAのクラスファイルがないと、クラスAを使用するクラスBも正しくコンパイルできません。繰り返しますが、これは設計によるものであり、私はその言語が好きな主な理由です。
これらの2つのことを考えれば、失敗したプロジェクトを「できるだけ早く」取得することは私にとっては役に立たないようです。現代のIDEは、コンパイルエラーがあるかどうか、構文やその他の不完全なソースファイルが原因であるかどうかを教えてくれます。これをやって他に何ができるの?
私はジェフの質問を誤解しているかもしれませんが、(私自身の思いから、それができるかどうかについての考えを持っているかもしれませんが)多分どこでも参照されていない死んだクラスを指していたかもしれません。コードを壊すことなく削除できるクラス。 – Roman
「完全ではないファイルが完全な状態にある」とは、「死んでいる」ということではなく、もはや維持されていないファイルを私に示唆しています。それはまだ全体の問題を「良い実践」レベルに置いています。私はあなたのプロジェクトのまわりでデッドコードを残すことに特別な害はないと思うが、私は確かにそれを助言しない。一つは、あなたのビルドを破る8>)。私が言わなければならないことは、ビルドプロセスを許可して、ビルドエラーを無視する人(あなた自身や他人)の結果を無視することを "知っている"というエラーを生成できるようにすることです。 – arcy
これらは、実装されていても実装されていなくてもよいアイデアを表すクラスです。私はそれらの中のすべてのコードをコメントアウトするか削除することができますが、最も簡単なことは、私がやりたいことを決めるまでそれらをそのまま残すことです。 – Jeff
試してみてください。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<failOnError>false</failOnError>
</configuration>
</execution>
</executions>
</plugin>
それはしかし非常に悪い習慣です:
<build>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<failOnError>false</failOnError>
</configuration>
</plugin>
</build>
は、以下のmaven-compiler-plugin
の設定を試してみてください。
私はあなたの質問に対する答えは分かりませんが、どれくらいの大きさであっても、プロジェクトにコンパイルエラーがあるのは悪い考えです。問題に対処するためにCIなどを導入する。 – kan
練習に関する質問ではなく、これができるかどうか私の質問は明らかです。あなたが知らないなら投稿するのはなぜですか? – Jeff
恐ろしい習慣を禁じることはできません(それは答えです!)。 – kan